我想弄清楚如何正确显示排名,如果多个作者的文章数量相同,那么他们会获得相同的排名,然后排名会在正确的位置恢复。例如,如果前 4 人的文章数相同,那么我希望他们都排名为 1,然后第 5 个人排名为 5。以下查询输出如下所示:
SELECT @rownum:=@rownum + 1 as Rank,
subq1.*
FROM ( SELECT Uni.University_Name, COUNT( * ) AS ArticleCount
FROM Author_University AS AU, University AS Uni, Articles AS Art
WHERE Art.Year_Published >= '2010'
AND Uni.University_ID = AU.University_ID
AND Art.Article_ID = AU.Article_ID
GROUP BY University_Name
ORDER BY ArticleCount DESC
LIMIT 0 , 25
) subq1,
(SELECT @rownum := 0) r