在我的mysql表中,我有包含点的表,想要返回该表的编号吗?
有人可以帮助我吗?
("select * from liv_sr")
Table contain(id,name,ip,port,*rank*....)
我想"排名"返回数字,具体数字 等(1,2,3,500)
query[0]['rank']=1200 points=>1 on rank
query[1]['rank']=800 points=>2 on rank
query[2]['rank']=1 points=>500 on rank
答案 0 :(得分:0)
您需要按查询使用订单
$sql="select * from table order by rank desc";
$point =1;
$result = mysql_query($sql);
$tableResult = array();
while($arrayresult =mysql_fetch_array($result))
{
$tableResult[] = array('id'=>$arrayresult['id'],'rank'=>$arrayresult['rank'],'point'=>$point);
$point= $point+1;
}
答案 1 :(得分:0)
不知道这是否已经得到解答,但是如果你真的想要只有一个结果行,你可以看一下MySQL group_concat。在您的示例中,您可以得到结果,例如:
“1200,600,500”(逗号分隔,按排名排序)
SELECT GROUP_CONCAT(rank ORDER BY rank DESC SEPARATOR ', ') FROM liv_sr GROUP BY 'all'
在php中,您可以将结果拆分为:
$myArray = explode(',', $result);
另外,请注意结果有1024字节限制。如果您需要更多,而不是简单的运行:
SET group_concat_max_len = 2048