当前位置:  开发笔记 > 后端 > 正文

在MYSQL中生成排名的最佳方法是什么?

如何解决《在MYSQL中生成排名的最佳方法是什么?》经验,为你挑选了2个好方法。

除了MYSQL中的行数据之外,获得行级别的最佳方法是什么?

例如,假设我有一份学生名单,我想在GPA中排名.我知道我可以通过GPA订购,但是有什么最快的方式让MYSQL在我回来的rowdata中返回等级?



1> William Bren..:

这将返回学生的排名,学生ID和GPA.

set @rownum := 0;
SELECT @rownum := @rownum + 1 AS rank, student_id, gpa 
    FROM `students` ORDER BY gpa DESC



2> Vinko Vrsalo..:

这将返回排名为 rownum

SELECT @rownum := @rownum + 1 rownum, 
       t.* 
  FROM (SELECT @rownum:=0) r, 
       (SELECT * FROM students ORDER BY gpa DESC) t;


这是一个单一的声明.威廉是两个单独的陈述.这就是它更复杂的原因.
推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有