MySQL中实现Oracle里面 rank()over ( PARTITION BY ORDER BY) 分类分组功能
生活随笔
收集整理的這篇文章主要介紹了
MySQL中实现Oracle里面 rank()over ( PARTITION BY ORDER BY) 分类分组功能
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
?各班級(jí)學(xué)生成績(jī)測(cè)試表?select * from TMP_A;?
?
?
實(shí)現(xiàn)目的: 按照班級(jí)分類后按照分?jǐn)?shù)倒序排序
? ?采用MySQL變量簡(jiǎn)單實(shí)現(xiàn),SQL如下:
SELECT ?a.stu_id,a.point,
IF( @className = a.class_name,@rank := @rank + 1,@rank :=1 ) AS rank,
(@className := a.class_name) class_name
? ? ? ? ? FROM TMP_A ? a, ?( select @rank :=0,@className := NULL ) b
ORDER BY a.class_name, a.point DESC ;
?
最終展示結(jié)果如下:
http://blog.csdn.net/gzt19881123/article/details/50503843
轉(zhuǎn)載于:https://www.cnblogs.com/zhangbojiangfeng/p/6423152.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的MySQL中实现Oracle里面 rank()over ( PARTITION BY ORDER BY) 分类分组功能的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 设计模式——门面(外观)模式
- 下一篇: 深度学习解决多视图非线性数据特征融合问题