亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用MySQL,如何生成包含表中記錄索引的列?

使用MySQL,如何生成包含表中記錄索引的列?

RISEBY 2019-06-12 16:36:41
使用MySQL,如何生成包含表中記錄索引的列?有什么方法可以從查詢中獲得實際的行號嗎?我希望能夠通過一個名為Score的字段訂購一個名為聯賽_女孩的表,并返回用戶名和該用戶名的實際行位置。我想對用戶進行排名,這樣我就可以知道特定用戶在哪里了。喬在200人中排在第100位。User Score RowJoe  100    1Bob  50     2Bill 10     3我在這里看到了一些解決方案,但我已經嘗試了其中的大多數,但沒有一個真正返回行號。我試過這樣做:SELECT position, username, scoreFROM (SELECT @row := @row + 1 AS position, username, score         FROM league_girl GROUP BY username ORDER BY score DESC)導出.但它似乎沒有返回行的位置.有什么想法嗎?
查看完整描述

3 回答

?
慕絲7291255

TA貢獻1859條經驗 獲得超6個贊

您可能需要嘗試以下方法:


SELECT  l.position, 

        l.username, 

        l.score,

        @curRow := @curRow + 1 AS row_number

FROM    league_girl l

JOIN    (SELECT @curRow := 0) r;

這個JOIN (SELECT @curRow := 0)部件允許變量初始化,而不需要單獨的SET命令。


測試用例:


CREATE TABLE league_girl (position int, username varchar(10), score int);

INSERT INTO league_girl VALUES (1, 'a', 10);

INSERT INTO league_girl VALUES (2, 'b', 25);

INSERT INTO league_girl VALUES (3, 'c', 75);

INSERT INTO league_girl VALUES (4, 'd', 25);

INSERT INTO league_girl VALUES (5, 'e', 55);

INSERT INTO league_girl VALUES (6, 'f', 80);

INSERT INTO league_girl VALUES (7, 'g', 15);

測試查詢:


SELECT  l.position, 

        l.username, 

        l.score,

        @curRow := @curRow + 1 AS row_number

FROM    league_girl l

JOIN    (SELECT @curRow := 0) r

WHERE   l.score > 50;

結果:


+----------+----------+-------+------------+

| position | username | score | row_number |

+----------+----------+-------+------------+

|        3 | c        |    75 |          1 |

|        5 | e        |    55 |          2 |

|        6 | f        |    80 |          3 |

+----------+----------+-------+------------+

3 rows in set (0.00 sec)


查看完整回答
反對 回復 2019-06-12
?
蝴蝶不菲

TA貢獻1810條經驗 獲得超4個贊

SELECT @i:=@i+1 AS iterator, t.*FROM tablename t,(SELECT @i:=0) foo


查看完整回答
反對 回復 2019-06-12
  • 3 回答
  • 0 關注
  • 727 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號