Php 选择将包含“返回新位置”列的查询

Php 选择将包含“返回新位置”列的查询,php,mysql,Php,Mysql,H伙计们 我只需要一个select查询,它将在其中返回新的位置列,即 我希望结果是 id score position 23 345 1 09 309 2 12 123 3 我试过了,但没用 (SELECT @rownum := @rownum + 1 AS position, id, scor

H伙计们

我只需要一个select查询,它将在其中返回新的位置列,即

我希望结果是

id       score     position
23       345       1
09       309       2
12       123       3
我试过了,但没用

(SELECT @rownum := @rownum + 1 AS position,
                           id, 
                           score  
                           FROM tabs 
                           ORDER BY score DESC");

位置行为空,请帮助使用php

您的查询应该是这样的:
选择id,按分数顺序从选项卡中得分DESC

和您的php:
for($i=0;$iecho$i;
echo$result['id'][$i];
echo$result['score'[$i]

任何基于id获取一个职位的想法-我尝试修改它以返回基于id的特定职位,但失败了如果您的意思是“只有得分最高的行”,您只需要在原始查询中添加“限制1”。如果您的意思是“给定id,职位是什么”,我建议使用不同的查询结构。在这种情况下,您可能希望PHP进行2次查询:首先“从id=…”的选项卡中选择*,然后“从得分>[第一次查询的得分]的选项卡中选择计数(*)+1作为pos”
SELECT @rownum := @rownum + 1 AS position,
id, 
score  
FROM tabs, (SELECT @rownum:=0) AS initrownum
ORDER BY score DESC