一條SQL語句搞定分組並且每組限定記錄集的數量

2021-05-24 08:48:34 字數 428 閱讀 4975

如果我想得到這樣乙個結果集:分組,並且每組限定記錄集的數量,用一條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 每頁記錄數...