对查询结果进行分组取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

 

posted @ 2012-11-20 18:30  九点一刻  阅读(190)  评论(0编辑  收藏  举报