【发布时间】:2012-12-11 02:33:28
【问题描述】:
我试过这样的
select Id,UserId from myTable group by Id,UserId having COUNT(UserId)<7
现在我要做的是为每个用户 ID 选择 6 条记录。但我的方法失败了。
那么正确的语法是什么?
id是主键聚集索引
【问题讨论】:
标签: sql-server select group-by having
我试过这样的
select Id,UserId from myTable group by Id,UserId having COUNT(UserId)<7
现在我要做的是为每个用户 ID 选择 6 条记录。但我的方法失败了。
那么正确的语法是什么?
id是主键聚集索引
【问题讨论】:
标签: sql-server select group-by having
这应该让你非常接近
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
【讨论】: