1. 程式人生 > >SQL server查詢分數排名第三的同學的資訊

SQL server查詢分數排名第三的同學的資訊

這是table的資訊,表名為SC,為了省勁直接用了最簡單的表。

  1. 當查詢的資料唯一時,可以使用top來進行篩選

select  top 1 *
from SC
where Score in(select Score from (select top 3 * from SC order by Score desc) as t3)
order by Score asc

這裡可以看出只有一個第三名

2.當查詢有多行資訊時,就如本表所示,有三個並列的第三名,可用聚合函式min()來查詢多個結果程式碼如下

select *  from SC
where Score in ( select MIN (t3.Score) from (select top 3 * from SC order by Score desc) t3)

兩個查詢中巢狀的子查詢語句都是先排序篩選出前三的資料。