我需要帮助按顺序显示players name
和它们的coins
。我目前有
$SQL = $odb -> query("SELECT SUM(kills) AS `kills` FROM `players` ORDER BY `kills` DESC LIMIT 0,10");
$SQL -> execute();
echo $SQL -> fetchColumn(0);
但这会返回0。
您必须在查询中添加一个GROUP BY
子句,现在它将玩家表中的总击杀数相加:
$SQL = $odb -> query("SELECT player_name,SUM(kills) AS `kills`
FROM `players`
GROUP BY player_name
ORDER BY `kills` DESC
LIMIT 10");
我假设您有一个名为player_name的列,如果不将其更改为真正的列名的话。
你只是在回显第一列,这是玩家的名字,所以你可以回显第二列以及
echo $SQL -> fetchColumn(0);
echo $SQL -> fetchColumn(1);
好的,到目前为止我有这个
$SQL = $odb -> query("SELECT username,SUM(kills) AS
杀死
FROM
玩家
GROUP BY username
ORDER BY
杀死DESC
LIMIT 10");
$SQL -> execute();
echo $SQL -> fetchColumn(0);
echo ' ';
echo $SQL -> fetchColumn(1);
它只说我需要1名球员,让它成为10人。