在 hive sql 中有三种排序方式,分别是 row_number
rank
dense_rank
。
让我们看看他们各自的特点,
-
row_number
:
每一行记录生生产一个序号,依次排序且不会重复,比如根据分数排序,相同分数也会排出顺序来。 -
rank
:
排序的时候会重复,但是数目不会减少,比如根据分数排序,相同分数会是一个名次,但是下一名就直接跳过一个名次,例如:1,1,3 -
dense_rank
:
排序的时候会重复,数目也会减少,比如根据分数排序,相同分数一个名次,但是下一名不会跳过一个名次,例如:1,1,2