如果ID是唯一的话,可以用楼上代码,也可以加入自增字段ID1,直接 SELECT ID1 FROM TT WHERE ID=2
select id,name,(select count(*)+1 from t a where a.id<b.id) as '名次' from t b +------+------+------+ | id | name | 名次 | +------+------+------+ | 1 | a | 1 | | 2 | b | 2 | | 5 | c | 3 | | 7 | d | 4 | | 10 | e | 5 | +------+------+------+
WHERE id<=2;
SELECT ID1 FROM TT WHERE ID=2
from t b
+------+------+------+
| id | name | 名次 |
+------+------+------+
| 1 | a | 1 |
| 2 | b | 2 |
| 5 | c | 3 |
| 7 | d | 4 |
| 10 | e | 5 |
+------+------+------+