zoukankan      html  css  js  c++  java
  • 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 


    作者:古梅飞动
    公司:蜜团科技
    出处:http://www.mitsofts.com/index.php
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    常见问题|一起工作 高端互联网人才兼职平台
    一拍即合
    食茶_尼尼龙_美愿作品展示平台
    Cop-Out
    员工宝
    java~使用自己的maven本地仓库
    java~接口的共享实体使用Map后更灵活
    知其所以然~tcp和udp的区别
    知其所以然~mongodb副本集
    java--map容器的hashcode和equals
  • 原文地址:https://www.cnblogs.com/luhuan860/p/1887676.html
Copyright © 2011-2022 走看看