《MySQL如何使用臨時變量來排名?》要點:
本文介紹了MySQL如何使用臨時變量來排名?,希望對您有用。如果有疑問,可以聯系我們。
最近公司由于做運動記錄排行榜,然后總結出來如下3中排行方式
值相同, 排名分歧;
值相同, 排名相同, 排名值連續遞增;
值相同,排名也相同; 排行增長不持續;
那么用數據庫查詢如何實現以上操作呢? 小編以MySQL 來實現上述操作.以學生表,按學生年齡這一條件對其操作
表 student
創建表布局
插入學生測試數據
主要思路:
對目標列排序
設置一個臨時變量作為rank值, 每次查詢遞增1
方案一: (值相同, 排名分歧)
SQL(年齡倒序,可以改成ORDER BY age DESC)
辦法二:值相同, 排名相同, 排名值持續遞增
思路:
(暫存上一條記錄的age (@prevRank).如果當前age與其相等,使用與前一記錄相同的排名;不然排名加一,并更新@prevRank)
后果圖如下所示:
辦法三:值相同,排名也相同; 排名值遞增不連續(常見)
想法:
(增加一個變量(@incRank)用于記錄序號(類似方案一).如果當前age與上一條記錄相同,使用與前一記錄相同的排名(類似辦法二),否則使用序號(@incRank))
后果圖:
《MySQL如何使用臨時變量來排名?》是否對您有啟發,歡迎查看更多與《MySQL如何使用臨時變量來排名?》相關教程,學精學透。維易PHP學院為您提供精彩教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/7113.html