如果我想得到這樣乙個結果集:分組,並且每組限定記錄集的數量,用一條sql語句能辦到嗎?
比如說,我想找出學生期末考試中,每科的前3名,只用一條sql語句,該怎麼寫?
表[tscore]的結構
code 學號 char
subject 科目 int
score 成績 int
可以這樣寫:
select [code]
,[subject]
,[score]
from (
select *
,rank() over(partition by subject order by score desc) as row
from tscore
) as a
where row
<= 3 ;
一條SQL語句搞定分組並且每組限定記錄集的數量
如果我想得到這樣乙個結果集 分組,並且每組限定記錄集的數量,用一條sql語句能辦到嗎?比如說,我想找出學生期末考試中,每科的前3名,只用一條sql語句,該怎麼寫?表 tscore 的結構 code 學號 char subject 科目 int score 成績 int 可以這樣寫 select co...
一條SQL語句搞定SQLServer分頁的幾種方式
適用於sql2000 2005 select top頁大小 from table1 where id not in select top頁大小 頁數 1 id from table1 order byid order byid 適用2000 2005 select top頁大小 from table...
一條sql 語句搞定資料庫分頁
一條語句搞定資料庫分頁 select top 10 b.from select top 20 主鍵字段,排序字段 from 表名 order by 排序字段 desc a,表名 b where b.主鍵字段 a.主鍵字段 order by a.排序字段 10 每頁記錄數 20 當前頁 1 每頁記錄數...