语法:ROW_NUMBER()OVER(PARTITIONBYCOLUMNORDERBYCOLUMN)
方法/步骤
1、简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的ROW_NUMBER()OVER(ORDERBYxlhDESC)是先把xlh列降序,再为降序以后的没条xlh记录返回一个序号。
2、row_number()OVER(绯摺驼予PARTITIONBYCOL1ORDERBYCOL2)表示根据COL1分组,在分组内部根据COL2排序,而此函数硭腾蛲鳌计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)
3、实例:初始化数据createtableemployee(娣定撰钠empidint,deptidint,霜杼厮贿salarydecimal(10,2))insertintoemployeevalues(1,10,5500.00)insertintoemployeevalues(2,10,4500.00)insertintoemployeevalues(3,20,1900.00)insertintoemployeevalues(4,20,4800.00)insertintoemployeevalues(5,40,6500.00)insertintoemployeevalues(6,40,14500.00)insertintoemployeevalues(7,40,44500.00)insertintoemployeevalues(8,50,6500.00)insertintoemployeevalues(9,50,7500.00)数据显示为
4、需求:根据部门分组,显示每个部门的工资等级预期结果:
5、SQL脚本:SELECT*,Row_Number()OVER(partitionbydeptidORDERBYsalarydesc)rankFROMemployee