麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > MySQL > 正文

MYSQL實現排名及查詢指定用戶排名功能(并列排名功能)實例代碼

2024-07-25 19:09:08
字體:
來源:轉載
供稿:網友

前言

本文主要介紹了關于MYSQL實現排名及查詢指定用戶排名功能(并列排名功能)的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧

表結構:

CREATE TABLE test.testsort ( id int(11) NOT NULL AUTO_INCREMENT, uid int(11) DEFAULT 0 COMMENT '用戶id', score decimal(10, 2) DEFAULT 0.00 COMMENT '分數', PRIMARY KEY (id) ) ENGINE = INNODB AUTO_INCREMENT = 1 CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = '測試排序' ROW_FORMAT = DYNAMIC;

思路:可以先排序,再對結果進行編號;也可以先查詢結果,再排序編號。

說明:

@rownum := @rownum + 1 中 := 是賦值的作用,這句話的意思是先執行@rownum + 1,然后把值賦給@rownum;

(SELECT @rownum := 0) r 這句話的意思是設置rownum字段的初始值為0,即編號從1開始。

實現排名:

方法一:

SELECT t.*, @rownum := @rownum + 1 AS rownum FROM (SELECT @rownum := 0) r, (SELECT * FROM testsort ORDER BY score DESC) AS t;

方法二:

SELECT t.*, @rownum := @rownum + 1 AS rownum FROM (SELECT @rownum := 0) r, testsort AS t ORDER BY t.score DESC;

結果:

MYSQL,排名,查詢,代碼

查看指定用戶排名:

方法一:

SELECT b.* FROM ( SELECT t.*, @rownum := @rownum + 1 AS rownum FROM (SELECT @rownum := 0) r, (SELECT * FROM testsort ORDER BY score DESC) AS t ) AS b WHERE b.uid = 222;

方法二:

SELECT b.* from ( SELECT t.*, @rownum := @rownum + 1 AS rownum FROM (SELECT @rownum := 0) r, testsort AS t ORDER BY t.score DESC ) as b where b.uid = 222;

結果:

MYSQL,排名,查詢,代碼

實現并列排名(相同分數排名相同):

SELECT obj.uid, obj.score, CASE WHEN @rowtotal = obj.score THEN @rownum WHEN @rowtotal := obj.score THEN @rownum :=@rownum + 1 WHEN @rowtotal = 0 THEN @rownum :=@rownum + 1 END AS rownum FROM ( SELECT uid, score FROM testsort ORDER BY score DESC ) AS obj, (SELECT @rownum := 0 ,@rowtotal := NULL) r

查詢指定用戶并列排名:

SELECT total.* FROM (SELECT obj.uid, obj.score, CASE WHEN @rowtotal = obj.score THEN @rownum WHEN @rowtotal := obj.score THEN @rownum :=@rownum + 1 WHEN @rowtotal = 0 THEN @rownum :=@rownum + 1 END AS rownum FROM ( SELECT uid, score FROM testsort ORDER BY score DESC ) AS obj, (SELECT @rownum := 0 ,@rowtotal := NULL) r) AS total WHERE total.uid = 222;

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人免费电影在线观看 | 1级黄色毛片 | 在线看免费的a | 欧美黄色性视频 | 久久国产精品免费视频 | 逼特逼视频在线观看 | 噜噜在线视频 | 九九热色 | 成人爱爱电影 | 午夜久久电影 | 色婷婷久久久 | 成av在线 | 精品国产一区二区三区四区在线 | 亚洲午夜免费电影 | 青草av.久久免费一区 | 国产精品久久久久久久久久久久久久久 | 久久久www成人免费精品 | 成人综合在线观看 | 亚洲一级网站 | 99成人精品视频 | 孕妇体内谢精满日本电影 | 男女无套免费视频 | 真人一级毛片免费 | 美国av片在线观看 | japan护士性xxxⅹhd | 亚洲精品一区二区三区大胸 | 日韩欧美电影在线观看 | 精品一区二区在线播放 | 91懂色| 欧美一级黄色录像片 | 特级黄一级播放 | 久国久产久精永久网页 | 黄色大片高清 | 免费一级毛片免费播放 | 黄色特级大片 | 国产91中文字幕 | 97精品视频在线观看 | 一级@片 | 91久久国产综合久久91猫猫 | 国产精品久久久久一区二区 | 中文字幕在线观看视频一区 |