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' 這是不會分區(分組):