2
我想是这样的如何选择前X记录各组
select Id,UserId from myTable group by Id,UserId having COUNT(UserId)<7
现在我想做的事就是选择6条每个用户ID。但我的做法失败了。
那么正确的语法是什么?
编号是主键聚集索引
我想是这样的如何选择前X记录各组
select Id,UserId from myTable group by Id,UserId having COUNT(UserId)<7
现在我想做的事就是选择6条每个用户ID。但我的做法失败了。
那么正确的语法是什么?
编号是主键聚集索引
这应该让你非常接近
WITH r (userid, rnk)
AS (SELECT userid, RANK() OVER (PARTITION BY id) AS rnk
FROM MyTable
GROUP BY userid)
SELECT r.*
FROM r
WHERE r.Rank <= 6