这是我的表
id | name | userid | score | date |
------------------------------------------------------------
1 | john | 1 | 44 | 2013-03-2
2 | mary | 2 | 59 | 2013-03-5
3 | john | 12 | 38 | 2013-03-8
4 | elvis | 3 | 19 | 2013-02-10
5 | john | 11 | 1002 | 2013-01-11
6 | johnah | 10 | 200 | 2013-01-11
我想以最高分显示我给定的用户ID订单的位置数。
如果我在查询中给出用户ID 12,那么它显示用户12的位置编号5取决于最高分
答案 0 :(得分:1)
我认为这就是你想要的。
SELECT COUNT(*)+1 FROM table_name WHERE userid!=12 AND
score>(SELECT score FROM table_name WHERE userid=12);
答案 1 :(得分:0)
试试这个:
SELECT *
FROM table_name
WHERE id =(SELECT max( userid ) FROM table_name)