sql查询增加自动递增的序号列

可以用row_number函数实现

 SELECT *,row_number() OVER(ORDER BY score(列名) DESC) AS rank FROM score 

语法:

ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)

简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的ROW_NUMBER() OVER (ORDER BY xlh DESC) 是先把xlh列降序,再为降序以后的没条xlh记录返回一个序号。

row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)

举例:根据部门分组,显示每个部门的工资等级

预期结果:

empiddeptidsalaryrank
11055001
21045002
42048001
32019002
740445001
640145002
54065003
95075001
85065002
SELECT *, Row_Number() OVER (partition by deptid ORDER BY salary desc) rank FROM employee
THE END
分享
二维码
打赏
海报
sql查询增加自动递增的序号列
可以用row_number函数实现 SELECT *,row_number() OVER(ORDER BY score(列名) DESC) AS rank FROM score 语法: ROW_NUMBER() OVER(PARTITI……
<<上一篇
下一篇>>