mysql中使用row_number()函數


1 select 
2 id,dynastyid,name,miaohao,
3 ROW_NUMBER() over(PARTITION by dynastyid ) rn
4 from
5 a_king

這里使用partition by fieldname 來進行分組,fieldname相同的會進行順序編號,fieldname不同會重新進行編號。

 

然后通過子查詢來進行一次篩選,選出每組的(這里是以dynastyid來分組)前幾名或后幾名:

 

 

1 select * from (select 
2 id,dynastyid,name,miaohao,
3 ROW_NUMBER() over(order by dynastyid ) rn
4 from
5     a_king)

還可以使用order by 'fieldname' 這是不會分區(分組):

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM