zoukankan      html  css  js  c++  java
  • Sql Server2008温故而知新系列06:查询-分页和排序查询

    说到分页就不得不提Mysql的limit了,感觉比sql server要简便一些;如果要在sql server2008中实现Limit的话,可以使用子查询;

    sql server中的分页(假设说法)关键词是top,通常和order by(排序)一起使用;如果不排序,查询得到的可能并不是自己想要的结果。

    先说一下正序与逆序排序

    如:

     1 --查询在男职员工eid,hida;以hida顺序排序
     2 select eid,hida 
     3     from emp 
     4     where flag=1 and sex=''
     5     order by hida 
     6 -- 逆序
     7 select eid,hida
     8     from emp
     9     where flag=1 and sex=''
    10     order by hida desc

     顺序是 asc,默认可以省略,逆序是desc(不可以省略),直接加在排序的每一个字段后面。

    那么如果只想查询前3个,怎么办呢。直接在查询的时候加上top就可以了;

    如:

     1 --查询在男职员工eid,hida;以hida顺序排序前3位 top (表达式)
     2 select top (3) eid,hida 
     3     from emp 
     4     where flag=1 and sex=''
     5     order by hida 
     6 -- 逆序前3位
     7 select top (4-1) eid,hida
     8     from emp
     9     where flag=1 and sex=''
    10     order by hida desc

    注意: top后面可以加表达式(可以是计算列)

    那如果我们需要以顺序排列的第2条记录,或者以顺序排列的2-4这3行记录呢?

    这个就需要系列07(子查询)的帮助了

    --Ocarina我是一只可爱的小尾巴
  • 相关阅读:
    Hiveserver2高可用实现
    centos7 mysql数据库安装和配置
    ubuntu18.04 安装hadoop 2.7.3+hive 2.3.4
    imx6 RGB LCD
    imx6 KEY_ROW4 power output high fail
    ar1020 驱动移植 无效
    24C02 Twr
    undefined reference to `switch_dev_unregister'
    cannot open /proc/bus/usb/devices, No such file or directory
    imx6dl i2c4 support
  • 原文地址:https://www.cnblogs.com/azrealer/p/11857467.html
Copyright © 2011-2022 走看看