php mysql 排名_mysql中如何实现排名
mysql中實現(xiàn)排名的方法:使用demo函數(shù),語法為【SELECT banji,avg(score) as AvgS FROM table_test GROUP BY banji ORDER BY AvgS DESC】。
mysql中實現(xiàn)排名的方法:
可用Demo實現(xiàn)
注意里面的A,屬于嵌套查詢,所以排名會正確。FROM
(
SELECT A.*,@rank:=@rank+1 as pm
FROM
(
SELECT banji,avg(score) as AvgS FROM table_test GROUP BY banji ORDER BY AvgS DESC
) A ,(SELECT @rank:=0) B
) M
ORDER BY M.banji
如果里面沒有子查詢,使用下面的SQL,那么排序會出錯。出錯的取決于GROUP BY 是否有多于一條的分組。SELECT banji,avg(score) as AvgS ,@rank:=@rank+1 as pm
FROM table_test A,(SELECT @rank:=0) B
GROUP BY banji
ORDER BY AvgS DESC
原因:@rank排名發(fā)生在GROUP BY 之前。GROUP BY 是對排名后的結(jié)果進行分組。如果想對分組后的結(jié)果進行排名,請使用子查詢。更多相關(guān)免費學(xué)習(xí)推薦:mysql教程(視頻)
總結(jié)
以上是生活随笔為你收集整理的php mysql 排名_mysql中如何实现排名的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux shell 除法运算符,Li
- 下一篇: Apprentissage du fra