用一條SQL語句查詢分組前三名資料
阿新 • • 發佈:2019-02-01
表簡單表示為:
EmpNo 員工編號
EName 員工姓名
Sal 員工工資
DepNo 部門編號
表名:T 用一條SQL語句在員工表中查詢出來每個部門公司前三名的資料
select a.DepNo,a.Sal,b.Sal,c.Sal from (select distinct DepNo,Sal from T a where Sal in (select top 1 Sal from T where DepNo=a.DepNo order by Sal desc) ) a
,(select DepNo,Sal from T a where id in (select top 2 id from T where DepNo=a.DepNo order by Sal desc) and id not in (select top 1 id from T where DepNo=a.DepNo order by Sal desc) ) b
,(select DepNo,Sal from T a where id in (select top 3 id from T where DepNo=a.DepNo order by Sal desc) and id not in (select top 2 id from T where DepNo=a.DepNo order by Sal desc) ) c
where a.DepNo=b.DepNo and a.DepNo=c.DepNo order by a.DepNo