2013-05-09 25 views
0

所以即時嘗試創建一個「創建自己的漢堡」應用程序的高分表。如何劃分2個連接的SQL列?

我的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; 

的代碼是工作的罰款。問題在於它不會首先回顯最高分割值。因此,儘管Burger3的平均評分爲1,但其平均評分爲2的Burger4仍然名列前茅。

什麼是最佳選擇?我應該從SQL查詢中劃分還是出現PHP修復?如果是這樣,怎麼樣?

由於提前,

托馬斯

+0

BTW我使用while($行= mysqli_fetch_array($變量))的回聲」 ING。 – user2368154 2013-05-09 23:23:49

回答

0

您需要通過比命令:

ORDER BY Rating.TotalScore/Rating.TotalVotes DESC 
+0

我愛你。工作。謝謝! – user2368154 2013-05-09 23:27:59