mysql返回特定行的编号


mysql return numbers of specific row?

在我的mysql表中,我有一个包含点的表,是否要返回该表的编号?

有人能帮我吗?

("select * from liv_sr")

Table contain(id,name,ip,port,*rank*....)

我想用数字对返回进行"排序",指定数字等(1,2,3500)

query[0]['rank']=1200 points=>1 on rank
query[1]['rank']=800 points=>2 on rank
query[2]['rank']=1 points=>500 on rank

您需要通过查询使用订单

$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;
}

不知道这个问题是否已经得到了回答,但如果你真的想实现只有一个结果行,你可以看看MySQL group_concat。在你的例子中,你可以得到一个结果,比如说:

带的"1200600500"(逗号分隔,按排名排序)

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