SQL学习之查询技巧 查询第3的数据 用一条语句分组,排序 并查询某一排名

    技术2022-05-11  89

    想查询排名第3的人员名单

    原数据表如下:

    create   table  test(    name     varchar ( 12 ),    myValue     int ) insert   into  test          select   ' zhang ' ,     80 union      select   ' wang ' ,     98 union      select   ' li ' ,     100 union      select   ' zhao ' ,     92 union      select   ' chen ' ,     82 union      select   ' qin ' ,     60 union      select   ' zhou ' ,     92

    查询第3名的人员名单

    SELECT   * FROM    test a WHERE   ( SELECT   Count ( DISTINCT  myvalue)         FROM    test         WHERE   myvalue  >=  a.myvalue)  =   3

    结果

     

    name         myValue -- ---------- ----------- zhao          92 zhou          92 ( 2  行処理されました)

     查询前3名的人员名单

    SELECT   * FROM    test a WHERE   ( SELECT   Count ( DISTINCT  myvalue)         FROM    test         WHERE   myvalue  >=  a.myvalue)  <= 3

    结果

    name         myValue -- ---------- ----------- li            100 wang          98 zhao          92 zhou          92 ( 4  行処理されました)

     内容由http://community.csdn.net/Expert/topic/5346/5346530.xml?temp=.3626978整理而成。

    谢谢luo2pei4321 (沛沛)  


    最新回复(0)