应该是个很简单的问题。我自己做了一些研究,但需要澄清一下。
我有一个体育项目的积分榜,这个项目是根据球队的获胜率来给他们排名的。这里有个问题:

// Make the query to order each team by rank:
$q = "SELECT * FROM football_1314_beacha_standings ORDER BY pct DESC";
$r = mysqli_query($db, $q);

工作正常。然而,当我有两支球队拥有相同的胜率时,它会根据他们的主键来命令他们,这是有道理的,但这并不是我想要的。
假设A队是2比0,胜率是.999%,主键是1;B队是6比0,胜率相同,主键是2。我希望有更多胜利的队伍排在其他队伍的前面。所以,我需要一个二阶条件。
我试着简单地添加一个逗号并添加第二个列名:
// Make the query to order each team by rank:
$q = "SELECT * FROM football_1314_beacha_standings ORDER BY pct, win DESC";
$r = mysqli_query($db, $q);

这在一定程度上起到了作用,因为他们把胜率更高的球队排在了另一队之上,但由于某种原因,他们把胜率最低的球队排在了积分榜的首位,从而偏离了整体排名。不知道为什么会这样。
任何建议都非常感谢!

最佳答案

我想解决办法是:

 $q = "SELECT * FROM football_1314_beacha_standings ORDER BY pct DESC, win DESC";

关于mysql - MySQL-查询中的第二个ORDER BY参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19012188/

10-12 05:51