The method of realizing ranking in mysql
What is the method to achieve ranking in mysql? This problem may be often seen in our daily study or work. I hope you can gain a lot from this question. The following is the reference content that the editor brings to you, let's take a look at it!
The method to achieve ranking in mysql: use the demo function, and the syntax is [SELECT banji,avg (score) as AvgS FROM table_test GROUP BY banji ORDER BY AvgS DESC].
The method to achieve ranking in mysql:
Can be implemented with Demo
Note that the An in it is a nested query, so the ranking will be correct.
FROM (SELECT A. (SELECT banji,avg (score) as AvgS FROM table_test GROUP BY banji ORDER BY AvgS DESC) A, (SELECT @ rank:=0) B) MORDER BY M.banji
If there is no subquery in it, use the following SQL, then the sorting will go wrong. The error depends on whether the GROUP BY has more than one packet.
SELECT banji,avg (score) as AvgS, @ rank:=@rank+1 as pmFROM table_test A, (SELECT @ rank:=0) BGROUP BY banjiORDER BY AvgS DESC
Reason: the @ rank ranking takes place before GROUP BY. GROUP BY groups the results after the rankings. If you want to rank the grouped results, use subqueries.
Thank you for reading! After reading the above, do you have a general understanding of the ways to achieve ranking in mysql? I hope the content of the article will be helpful to all of you. If you want to know more about the relevant articles, you are welcome to follow the industry information channel.