sample: SELECT dept_id , name, salary, RANK() OVER (PARTITION BY dept_id ORDER BY e.salary) as RankNumber FROM employees
如下查询分组是按照ID来的,排序按照插入时间,rn就是你所要的排名的名次.这个是升序排列的:SELECT m.*, row_number() over(PARTITION BY id ORDER BY insert_time) rn FROM table_test m
如下查询分组是按照ID来的,排序按照插入时间,rn就是你所要的排名的名次.这个是升序排列的:SELECT m.*, row_number() over(PARTITION BY id ORDER BY insert_time) rn FROM table_test m
row_number over(partition by 分组字段 order by 排名顺序字段) 为单一排名 dense_rank over(partition by 分组字段 order by 排名顺序字段) 排名顺序字段相同,排名相同,下一排名不跳 rank over(partition by 分组字段 order by 排名顺序字段) 排名顺序字段相同,排名相同,下一排名跳过(按并列的数目跳过相应的排名)
SELECT dept_id , name, salary, RANK() OVER (PARTITION BY dept_id ORDER BY e.salary) as RankNumber
FROM employees
row_number() over(PARTITION BY id ORDER BY insert_time) rn
FROM table_test m
row_number() over(PARTITION BY id ORDER BY insert_time) rn
FROM table_test m
dense_rank over(partition by 分组字段 order by 排名顺序字段) 排名顺序字段相同,排名相同,下一排名不跳
rank over(partition by 分组字段 order by 排名顺序字段) 排名顺序字段相同,排名相同,下一排名跳过(按并列的数目跳过相应的排名)