MySQL中实现Oracle里面 rank()over ( PARTITION BY ORDER BY) 分类分组功能
生活随笔
收集整理的這篇文章主要介紹了
MySQL中实现Oracle里面 rank()over ( PARTITION BY ORDER BY) 分类分组功能
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?各班級學生成績測試表?select * from TMP_A;?
?
?
實現目的: 按照班級分類后按照分數倒序排序
? ?采用MySQL變量簡單實現,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 ;
?
最終展示結果如下:
http://blog.csdn.net/gzt19881123/article/details/50503843
轉載于:https://www.cnblogs.com/zhangbojiangfeng/p/6423152.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的MySQL中实现Oracle里面 rank()over ( PARTITION BY ORDER BY) 分类分组功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设计模式——门面(外观)模式
- 下一篇: 深度学习解决多视图非线性数据特征融合问题