选择具有给定id位置的所有数据

时间:2014-04-01 08:18:32

标签: php mysql sql

这是我的表

   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取决于最高分

2 个答案:

答案 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)