该函数的应用场景在于对表中某个字段分组排序后,返回每个组别的行号(可以这么理解)。
完整函数为ROW_NUMBER() OVER(PARTITION COL1 ORDOER BY COL2)
可以理解为 对col1分组,按照col2排序,对col1的每个组的数据行返回一个序号,从1开始。
示例:
表teacher(id,grade,salary)
1--2--1000
2--2--10000
3--3--4000
4--5---20
5--2--49884
6--3--5667
要求:按为每个年级grade的工资分级
期望的结果为:
1--2--49884-------1
2--2--10000-------2
3--2--1000-------3
4--3--5667-------1
5--3--4000-------2
6--5--20-------1
函数ROW_NUMBER()(PARTITION grade ORDER BY id ESC)