簡體   English   中英

PHP MySQL查詢-添加

[英]PHP MySQL Queries - Addition

我正在研究一個公式,其中根據其他單元格的值在行和列中添加多個值。 例如,我有以下工作代碼:

$result = mysql_query("SELECT School,SUM(Wins + Losses) as total FROM tennis GROUP BY School");
 echo "<table border='1'>
<tr>
<th>School</th>
<th>Score</th>
</tr>";

while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['School'] .  "</td>";
  echo "<td>" . $row['total'] .  "</td>";
  echo "</tr>";
  }

但是我想添加更多的列,這些列也是其他行/列的總和,並且不知道如何做到這一點,同時仍將所有內容按“學校”列分組。 我本質上想要的是以下內容,但是代碼不正確:

$result = mysql_query("SELECT School,SUM(Wins + Losses) as 1sttotal FROM tennis WHERE Event='1st Singles', SUM(Wins + Losses) as 2ndtotal FROM tennis WHERE Event='2nd Singles' GROUP BY School");
 echo "<table border='1'>
<tr>
<th>School</th>
<th>1st Singles</th>
<th>2nd Singles</th>
</tr>";

while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['School'] .  "</td>";
  echo "<td>" . $row['1sttotal'] .  "</td>";
  echo "<td>" . $row['2ndtotal'] .  "</td>";
  echo "</tr>";
  }

我是PHP的新手,所以我不確定要進行正確設置的正確/最佳方法。 謝謝

這是您應該用來獲取2個總數的查詢:

SELECT 
    School,
    SUM(IF(Event='1st Singles', Wins + Losses, 0)) as 1sttotal,
    SUM(IF(Event='2nd Singles', Wins + Losses, 0)) as 2ndtotal
FROM tennis 
GROUP BY School;

看看它如何根據event列添加? 訣竅是通過條件執行( IF )在SELECT子句中傳遞WHERE過濾器

使用CASE WHEN其他可能性:

SELECT 
    School,
    SUM(
        CASE 
            WHEN Event='1st Singles' THEN Wins + Losses
            ELSE 0
        END
    ) as 1sttotal,
    SUM(
        CASE 
            WHEN Event='2nd Singles' THEN Wins + Losses
            ELSE 0
        END
    ) as 2ndtotal
FROM tennis 
GROUP BY School;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM