sql语句 次数从大到小排列前5条数据(如果第五名次数有多条,则全部列出来)

sql语句 次数从大到小排列前5条数据(如果第五名次数有多条,则全部列出来)

SELECT  id,
        count,
        RankNumber
FROM    (        
            SELECT      id,
                    count,
                    RANK() OVER(ORDER BY count DESC) AS RankNumber
            FROM     TableName
        ) AS RankedTable
FROM    RankedTable
WHERE   RankNumber <= 5
ORDER BY RankNumber
;

 

如果第一名就有五条数据呢

那就返回5条