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

Php 选择具有给定id位置的所有数据,php,mysql,sql,Php,Mysql,Sql,这是我的桌子 id | name | userid | score | date | ------------------------------------------------------------ 1 | john | 1 | 44 | 2013-03-2 2 | mary | 2 | 59 | 2013-03-5 3 |

这是我的桌子

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

我想这就是你想要的

SELECT COUNT(*)+1 FROM table_name WHERE userid!=12 AND 
score>(SELECT score FROM table_name WHERE userid=12);
试试这个:

SELECT *  
FROM table_name 
WHERE id =(SELECT max( userid ) FROM table_name)

根据您提供的数据,我看到它位于第5位从数据库中选择所有记录,并使用
按分数排序
。然后循环搜索结果并搜索给定的用户ID。计算在找到用户ID之前循环被输入的次数,然后得到结果。如果我在查询中给出用户ID 12,则显示用户12的位置5取决于最高分数。这不是你想要的吗?我的意思是这个查询应该适用于@user3484136