从同一表的不同列获取固定数量的记录

时间:2018-07-13 17:40:40

标签: sql-server

我有一个包含4列的表格:PrctuidPuidPCodeCode_Desc

我需要为每个Prctuid选择10个记录,每个PCode

如果有5个Prcruid包含2个Pcode,而每个Pcode都有多个Puid,则输出应该有100条记录。

1 个答案:

答案 0 :(得分:0)

您可以使用row_number

select 
   x.Prctuid
   ,x.Puid
   ,x.PCode
   ,x.Code_Desc
from 
(select 
   *,
   RN = row_number() over (partition by Prctuid, PCode order by PCode)
 from yourTable
) x
where x.RN <= 10