2

我尝试过这样的事情

select Id,UserId from myTable group by Id,UserId having COUNT(UserId)<7

现在我想做的是为每个用户 ID 选择 6 条记录。但我的方法失败了。

那么正确的语法是什么?

id 是主键聚集索引

4

1 回答 1

2

这应该让你非常接近

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 
于 2012-12-24T20:35:16.600 回答