鍍金池/ 問答/數(shù)據(jù)庫  HTML/ mysql如何獲取排名?

mysql如何獲取排名?

假設(shè)表stu如下

id user_id score
1  3        98
2  34       95
3  7        92
4  25       90

分?jǐn)?shù)已經(jīng)降序排列了,現(xiàn)在根據(jù)輸入user_id(7),獲取到排名應(yīng)該是3,怎么寫sql語句呢?

回答
編輯回答
心悲涼

user_id(7) 和 id(3) 不是在同一列嗎?

2017年12月18日 11:46
編輯回答
涼汐

你這個(gè)問題描述的不夠清晰,你所說的表是已經(jīng)查過的嗎?
簡(jiǎn)單來寫一下:
圖片描述

其實(shí),只是在對(duì)表查詢的時(shí)候,加一列虛擬自增的列。

2018年6月19日 12:02
編輯回答
菊外人
SELECT IF(
EXISTS(
    SELECT `score`
    FROM `stu`
    WHERE `user_id`=7
),
(
    SELECT COUNT(1)+1
    FROM `stu`
    WHERE `score` > (
        SELECT `score`
        FROM `stu`
        WHERE `user_id`=7
    )
), 
NULL);
2017年5月13日 07:10