获取每个分类下的N条记录

 --获取每个分类下的N条记录 
select *
from(
  select *,rn=row_number() over (partition by 类别 order by 日期 desc)
  from @tb
)t
where rn <= N
--或者
select 
  distinct b.*
from
  @tb a
cross apply
  (select top N * from @tb where 类别=a.类别 order by  newid())b


 

你可能感兴趣的:(获取每个分类下的N条记录)