有时候我们在查询数据库时,需要自动为记录排出编号,以便显示或者打印。在SQL Server 2005中,提供了一个ROW_NUMBER()函数,可以方便地实现这一功能。该函数在使用时必须指定序号生成时的排序基准,语法如下
ROW_NUMBER() OVER (ORDER BY 排序列 [ASC|DESC])
比如,我要把学生表的记录按照年龄由大打到小排序,并产生序号,可以使用如下语句:
SELECT ROW_NUMBER() OVER (ORDER BY AGE DESC) as SEQ, STU_ID, STU_NAME, AGE FROM STUDENTS ORDER BY AGE DESC
查询结果如下:
![SQL Server 2005 中为查询结果自动生成记录编号 - 水木 - 水木小榭 SQL Server 2005 中为查询结果自动生成记录编号_SQL](http://img308.ph.126.net/oOPoPHt0xe7F9N-aWPvVYg==/3914472501115178323.jpg)