获取 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中文网其他相关文章!