mysql中使⽤row_number()函数
1 select
2 id,dynastyid,name,miaohao,
3 ROW_NUMBER() over(PARTITION by dynastyid ) rn4 from5 a_king
这⾥使⽤partition by fieldname 来进⾏分组,fieldname相同的会进⾏顺序编号,fieldname不同会重新进⾏编号。
然后通过⼦查询来进⾏⼀次筛选,选出每组的(这⾥是以dynastyid来分组)前⼏名或后⼏名:
1 select * from (select
2 id,dynastyid,name,miaohao,
3 ROW_NUMBER() over(order by dynastyid ) rn4 from
5 a_king)
还可以使⽤order by 'fieldname' 这是不会分区(分组):