sql 检索语句
MSSQLServer2000没有直接提供返回提供“检索从第5行开始的10条数据”、“检索第五行至第十二行的数据”等这样的取区间范围的功能,不过可以采用其他方法来变通实现,最常使用的方法就是用子查询7,比如要实现检索按照工资从高到低排序检索从第六名开始一共三个人的信息,那么就可以首先将前五名的主键取出来,在检索的时候检索排除了这五名员工的前三个人,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
MSSQLServer2005兼容几乎所有的MSSQLServer2000的语法,所以可以使用上个小节提到的方式来在MSSQLServer2005中实现限制结果集行数,不过MSSQLServer2005提供了新的特性来帮助更好的限制结果集行数的功能,这个新特性就是窗口函数ROW_NUMBER()。 ROW_NUMBER()函数可以计算每一行数据在结果集中的行号(从1开始计数),其使用语法如下: ROW_NUMBER OVER(排序规则) 比如我们执行下面的SQL语句:
SELECT ROW_NUMBER() OVER(ORDER BY FSalary),FNumber,FName,FSalary,FAge FROM T_Employee
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
转载于:https://www.cnblogs.com/luhuan860/archive/2010/11/25/1887676.html
- 点赞
- 收藏
- 分享
- 文章举报
- SQL Cookbook:一、检索记录(8)在SELECT语句中使用条件逻辑
- PB 中用带参数的 SQL 语句字符串检索数据并动态生成Datawindow
- 日期+时间段检索的SQL语句(存储过程)
- 利用修改AccessDataSource的sql语句来检索数据
- 利用修改AccessDataSource的sql语句来检索数据
- 批处理SQL语句检索多个表并填充DataSet
- pb中sql语句用to_char查询出来数据,居然无法检索出数据,oracle数据库,这是什么原因?
- SQL语句调优 - 索引上的数据检索方法
- SQL语句练习-检索数据
- 在Symfony中直接运用SQL语句检索数据
- sql 字母检索语句
- PB 中用带参数的 SQL 语句字符串检索数据并动态生成Datawindow
- SQL语句检索数据排序及过滤
- sql server 检索包含指定字段的表名的sql语句
- 检索优化30条建议(SQL语句优化)
- 检索08- SQL语句中的go与use用法
- 检索优化30条建议(SQL语句优化)
- SQL语句调优 - 索引上的数据检索方法
- 示例检索 SQL查询语句的执行效率优化
- 检索出现次数的SQL语句