我們為大家收集整理了關於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教程,請點擊精品學習網編程開發欄目!!