对查询结果进行分组取top n
sql语句如下
;WITH t AS (
SELECT *, ROW_NUMBER() over(partition by userid order by userid) as rownum FROM tableName
)
SELECT * FROM t WHERE t.rownum<@count
语句中通过partition by userid order by userid对查询的信息进行分组后,再通过rownum<@count来实现取分组后各项的top @count