MSSQL中 ROW_NUMBER()的使用

ROW_NUMBER()函数可以计算每一行数据在结果集中的行号(从1开始计数),其使用语法
如下:
ROW_NUMBER OVER(排序规则)
比如我们执行下面的SQL语句:
SELECT ROW_NUMBER() OVER(ORDER BY FSalary),FNumber,FName,FSalary,FAge
FROM T_Employee

可以看到第一列中的数据就是通过ROW_NUMBER()计算出来的行号。有的开发人员想使用
如下的方式来实现返回第3行到第5行的数据(按照工资降序):

SELECT * FROM
(
SELECT ROW_NUMBER() OVER(ORDER BY FSalary DESC) AS rownum,
FNumber,FName,FSalary,FAge FROM T_Employee
) AS a
WHERE a.rownum>=3 AND a.rownum<=5

posted @ 2012-02-09 15:46  戴眼镜的乌龟  阅读(976)  评论(0)    收藏  举报