取得 MySQL 表中的記錄索引
在 MySQL 中,表通常包含大量記錄。擁有一個包含表中每一行的記錄索引或行位置的列會很有用。這可用於多種目的,例如對使用者進行排名或顯示序列中特定記錄的位置。
解決方案
產生包含以下內容的欄位對於記錄索引,可以使用使用者定義變數和連接語句的組合。以下是範例:
SELECT l.position, l.username, l.score, @curRow := @curRow + 1 AS row_number FROM league_girl l JOIN (SELECT @curRow := 0) r;
在此查詢中:
用法範例
考慮以下league_girl 表:
position | username | score |
---|---|---|
1 | a | 10 |
2 | b | 25 |
3 | c | 75 |
4 | d | 25 |
5 | e | 55 |
6 | f | 80 |
7 | g | 15 |
以下查詢傳回所有記錄的索引、使用者名稱和分數league_girl中得分大於50的行:
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 |
以上是如何取得MySQL表中的記錄索引(行號)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!