首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql话语中限制结果集行数

2012-09-25 
sql语句中限制结果集行数sql语句中限制结果集行数? 在进行数据检索的时候有时候需要只检索结果集中的部分

sql语句中限制结果集行数

sql语句中限制结果集行数

? 在进行数据检索的时候有时候需要只检索结果集中的部分行,比如说“检索成绩排前三
名的学生”、“检索工资水平排在第3位到第7位的员工信息”,这种功能被称为“限制结果集
行数”。在虽然主流的数据库系统中都提供了限制结果集行数的方法,但是无论是语法还是
使用方式都存在着很大的差异,即使是同一个数据库系统的不同版本(比如MSSQLServer2000
和MSSQLServer2005)也存在着一定的差异。因此本节将按照数据库系统来讲解每种数据库
系统对限制结果集行数的特性支持。

1,Mysql

? MYSQL中提供了LIMIT关键字用来限制返回的结果集,LIMIT放在SELECT语句的最后位置,
语法为“LIMIT 首行行号,要返回的结果集的最大数目”。比如下面的SQL语句将返回按照工
资降序排列的从第二行开始(行号从0开始)的最多五条记录:
SELECT * FROM T_Employee ORDER BY FSalary DESC LIMIT 2,5

2,Oracle

? Oracle中支持窗口函数ROW_NUMBER(),其用法和MSSQLServer2005中相同,

? ROW_NUMBER()函数可以计算每一行数据在结果集中的行号(从1开始计数),其使用语法
如下:
ROW_NUMBER OVER(排序规则)

?

?

比如我们执
行下面的SQL语句:?

SELECT top 3 * FROM T_Employee WHERE FNumber NOT IN (SELECT TOP 5 FNumber FROM T_Employee ORDER BY FSalary DESC)  ORDER BY FSalary DESC  

?

热点排行