欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

MYSQL如何實現(xiàn)排名及查詢指定用戶排名功能

這篇文章主要介紹了MySQL如何實現(xiàn)排名及查詢指定用戶排名功能,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

10年積累的成都網(wǎng)站建設(shè)、成都做網(wǎng)站經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有新豐免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

表結(jié)構(gòu):

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 '分數(shù)',
 
PRIMARY KEY (id)
 
)
 
ENGINE = INNODB
 
AUTO_INCREMENT = 1
 
CHARACTER SET utf8
 
COLLATE utf8_general_ci
 
COMMENT = '測試排序'
 
ROW_FORMAT = DYNAMIC;

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

說明:

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

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

實現(xiàn)排名:

方法一:

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;

結(jié)果:

MYSQL如何實現(xiàn)排名及查詢指定用戶排名功能 

查看指定用戶排名:

方法一:

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;

結(jié)果:

MYSQL如何實現(xiàn)排名及查詢指定用戶排名功能

實現(xiàn)并列排名(相同分數(shù)排名相同):

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;

感謝你能夠認真閱讀完這篇文章,希望小編分享的“MYSQL如何實現(xiàn)排名及查詢指定用戶排名功能”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!

當前名稱:MYSQL如何實現(xiàn)排名及查詢指定用戶排名功能
網(wǎng)站網(wǎng)址:http://chinadenli.net/article40/jsepho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、網(wǎng)站收錄品牌網(wǎng)站設(shè)計、網(wǎng)站制作虛擬主機、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
日韩精品人妻少妇一区二区| 99日韩在线视频精品免费| 东京热加勒比一区二区| 中文字幕一区二区免费| 精品人妻久久一品二品三品| 亚洲专区中文字幕在线| 91精品日本在线视频| 夫妻性生活黄色录像视频| 欧美精品专区一区二区| 国产自拍欧美日韩在线观看| 国产精品成人一区二区三区夜夜夜| 国产美女网红精品演绎| 高清一区二区三区四区五区| 欧美一区二区三区十区| av国产熟妇露脸在线观看| 国产精品尹人香蕉综合网| 欧洲亚洲精品自拍偷拍| 亚洲中文字幕熟女丝袜久久| 午夜福利视频日本一区| 一区二区日韩欧美精品| 精品视频一区二区不卡| 成人综合网视频在线观看| 国产精品香蕉在线的人| 国产精品亚洲欧美一区麻豆 | 大尺度剧情国产在线视频| 夫妻性生活一级黄色录像| 成人日韩视频中文字幕| 99久久精品一区二区国产| 日本熟女中文字幕一区| 日韩国产传媒在线精品| 99久久精品国产日本| 欧美91精品国产自产| 俄罗斯胖女人性生活视频| 伊人久久青草地综合婷婷| 午夜福利大片亚洲一区| 亚洲高清中文字幕一区二三区| 午夜色午夜视频之日本| 爱草草在线观看免费视频| 精品一区二区三区三级视频| 欧美亚洲91在线视频| 91熟女大屁股偷偷对白|