sql 先分组后再取5条数据 [转]
row_number 函数里面有个partition by可以先分组
================
SELECT * FROM (SELECT rid = ROW_NUMBER() OVER (PARTITION BY 分组 ORDER BY 排序 DESC), * FROM 表名) AS T WHERE rid <= 10
==========
SELECT * FROM
(SELECT rid = ROW_NUMBER() OVER
(PARTITION BY dept ORDER BY [time] DESC), * FROM TestTable) AS T WHERE rid <= 5
===========
with newtable as (
select row_number() over(partition by dept order by time) as rid, * from myorder
)
select * from newtable where newtable.rid <= 5