WINDOW FUNCTION DENSE_RANK

description

DENSE_RANK() 函数用来表示排名,与RANK()不同的是,DENSE_RANK() 不会出现空缺数字。比如,如果出现了两个并列的1,DENSE_RANK() 的第三个数仍然是2,而RANK()的第三个数是3。

1. DENSE_RANK() OVER(partition_by_clause order_by_clause)

example

按照 property 列分组对x列排名:

1. select x, y, dense_rank() over(partition by x order by y) as rank from int_t;

3. | x  | y    | rank     |
4. |----|------|----------|
5. | 1  | 1    | 1        |
6. | 1  | 2    | 2        |
7. | 1  | 2    | 2        |
8. | 2  | 1    | 1        |
9. | 2  | 2    | 2        |
10. | 2  | 3    | 3        |
11. | 3  | 1    | 1        |
12. | 3  | 1    | 1        |
13. | 3  | 2    | 2        |

keywords

1. WINDOW,FUNCTION,DENSE_RANK