选择一列的所有值,然后按另一列排序

时间:2019-02-19 23:50:23

标签: php mysql sql mysqli

我有一个表stats,其中包含列idtotalJumpstotalScoretopScoretopScoreMod。我希望选择所有id值,并按降序对totalScore进行排序。

我尝试过"SELECT id FROM stats ORDER BY totalScore DESC",但这只给我一个id的结果。

编辑:抱歉,我已经更新了这个问题,目的是更准确。 PHP可能会出现此问题,而SQL可能不会出现此问题。 MySQLi查询以正确的顺序返回所有3个id值,但是PHP语句$scoresRow = $scoresResult->fetch_array()(其中$scoresResult是上面的MySQLi查询)根据{{1 }},其中count($scoresRow)$scoresRow[0],而1给我的错误是$scoresRow[1]

2 个答案:

答案 0 :(得分:2)

您编写的查询是正确的,它应该以基于totalScore的desc顺序显示表中的所有ID。我可以知道桌上有多少数据吗? 完成后,从Totalscore Dec的统计顺序中选择*?显示多少条记录?

答案 1 :(得分:1)

您是否尝试过使用PDO扩展?它与PHP一起提供,是查询数据库的推荐库/扩展名。请按照这里的指示  -http://php.net/manual/en/pdo.installation.php-确保已启用。

然后,您应该可以在PHP中执行以下操作:

$stmt = $pdo->query("SELECT id FROM stats ORDER BY totalScore DESC");
while ($row = $stmt->fetch()) {
    echo $row['id']."<br />\n";
}