萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> 數據庫綜合 >> sqlserver分組取前n條記錄的方法

sqlserver分組取前n條記錄的方法

我們為大家收集整理了關於sqlserver分組取前n條記錄,以方便大家參考。sql中group by後,獲取每組中的前N行數據,目前我知道的有2種方法比如有個成績表: 裡面有字段學生ID,科目,成績。

1.前言。

這個有兩種方法。1是用in,2是用row_number(),可根據情況來用。兩種都可以。

2.舉例。

方法1:

Java代碼

select a.* from table1 a where a.column1 in (select max(column1) from table1 group by a.column2,column3)

方法2:

Java代碼

with nyr as (

select NYR,QYZX_DM,FXSP_XH,SPBM_DLJ,WBSP_GG,JGLX,JZJG,MAX(SJGX_SJ),

ROW_NUMBER() over (partition by nyr order by nyr) as 'rowno'

from WD_O_T_IC_SPSJ_FX

where rowno=1

group by NYR,QYZX_DM,FXSP_XH,SPBM_DLJ,WBSP_GG,JGLX,JZJG

order by NYR,QYZX_DM,FXSP_XH,SPBM_DLJ,WBSP_GG,JGLX,MAX(SJGX_SJ) desc )

select *

from nyr

where rowno = 1

希望大家可以學會sqlserver分組取前n條記錄.想了解更多精彩內容,請關注我們的網站!

相關推薦:

SQLServer登錄連接失敗怎麼辦呢 

想了解更多關於sqlserver教程,請點擊精品學習網編程開發欄目!!

copyright © 萬盛學電腦網 all rights reserved