如何划分两个连接的SQL列


How to divide 2 joined SQL columns?

所以我尝试为"创建您自己的汉堡"应用程序创建一个高分表。

My SQL Query:

SELECT Save_Burger.Name, Rating.TotalScore, Rating.TotalVotes FROM Save_Burger INNER JOIN Rating ON Save_Burger.RatingID=Rating.RatingID ORDER BY Rating.TotalScore DESC

返回:

|---------------------------------------|
|  Name   |  TotalScore  |  TotalVotes  |
|Burger1  |     11       |      3       |
|Burger2  |      6       |      2       |
|Burger3  |      5       |      5       |
|Burger4  |      2       |      1       |
|Burger5  |      0       |      0       |
|---------------------------------------|

然后使用PHP划分TotalScore和TotalVotes:

if (($row["TotalScore"] != 0) || ($row["TotalVotes"] != 0)) {
            $TotalRatingScore = $row["TotalScore"] / $row["TotalVotes"];
            echo substr($TotalRatingScore, 0, 3);
        }
        else {
            echo 0;

代码工作正常。问题是,它不首先反映最大的分割值。因此,尽管汉堡3的平均评分为1,但它仍然以平均评分2高于汉堡4。

最好的选择是什么?我应该从SQL查询或有一个PHP修复?如果有,怎么做?

提前感谢,

托马斯

您需要按比例排序:

ORDER BY Rating.TotalScore/Rating.TotalVotes DESC