1、 定义
简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的ROW_NUMBER() OVER (ORDER BY 【列名】DESC) 是先把【列名】降序排列,再为降序以后的每条【列名】记录返回一个降序序号,序号从1开始,依次往下排。
排名函数 "ROW_NUMBER" 必须有 ORDER BY 子句。
2、简单示例
表的结构:
用排名函数进行查询:
select * ,ROW_NUMBER() OVER(ORDER BY distId desc) as num from districtInfo
【查询语句说明】首先明确查询的结果为 *,num ,而 ROW_NUMBER() OVER(ORDER BY distId desc) 的作用是将查询的结果按照disId降序排列,给每条记录添加一个排名序号num(从1开始排)。
查找的结果: