mysql返回特定行的数量?

时间:2015-03-22 08:46:54

标签: php mysql

在我的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

2 个答案:

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