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