row_number() over 函数应该怎么用

来源:百度知道 编辑:UC知道 时间:2024/09/27 13:14:39
SELECT * FROM ( "
+ "SELECT ROW_NUMBER() OVER (ORDER BY xlh DESC) row_num,"
+ " gmsfhm,xm,ZH_FUN_GTDICTVALUE('rkzd_ckdsywzt',zt) zt,ZH_FUN_GTDICTVALUE('rkzd_ywlx',ywlx) ywlx, xlh from "
+ cityuser + "czrk_dsyw where 1=1";

这段代码完全看不懂,里面还有个row_number() over函数 能逐行注释一下吗? 谢谢

简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的ROW_NUMBER() OVER (ORDER BY xlh DESC) 是先把xlh列降序,再为降序以后的没条xlh记录返回一个序号,你这个是在程序里面拼写的sql语句吧,因此是“字符串”+“字符串”的方式。
示例:
xlh row_num
1700 1
1500 2
1085 3
710 4
680 5
要是还不懂的话再问我就是