Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何划分2个连接的SQL列?_Php_Sql_Join_Rating_Divide - Fatal编程技术网

Php 如何划分2个连接的SQL列?

Php 如何划分2个连接的SQL列?,php,sql,join,rating,divide,Php,Sql,Join,Rating,Divide,因此,我试图为“创建您自己的汉堡”应用程序创建一个高分表 我的SQL查询: 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 返回: |-------------------------------------

因此,我试图为“创建您自己的汉堡”应用程序创建一个高分表

我的SQL查询:

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

顺便说一句,我使用while($row=mysqli\u fetch\u数组($variable))作为回音。我爱你。工作。谢谢