Bootstrap

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

想查询排名第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 (沛沛)  

;