簡體   English   中英

MySQL:按兩列分組並求和

[英]MySQL: Group by two columns and sum

建立庫存系統。 我有很多產品,每個產品都有三個不同的變量。 因此,對於庫存總量,我想按兩列(產品和尺寸)和總數量進行分組以獲得庫存總量。

產品 尺寸 數量
小工具一 2 275
小工具一 2 100
小工具二 3 150
小工具二 2 150

我想要的輸出:

產品 尺寸 數量
小工具一 2 375
小工具二 3 150
小工具二 2 150

我想出了如何按一列分組並使用以下代碼求和:

$query = "SELECT product, SUM(Quantity) FROM inventory GROUP BY product";  
$result = mysql_query($query) or die(mysql_error());
// Print out result
while($row = mysql_fetch_array($result)){
    echo "Total ". $row['product']. " = ". $row['SUM(Quantity)'];
    echo "<br />";
}
?>

我只是堅持按兩列分組。 是否可以? 或者我應該只為三種尺寸創建三種不同的產品並消除該列? 謝謝。

根據您的示例表,您似乎希望對product而不是id進行分組。 您只需要將Size列添加到SELECT列表和GROUP BY

$query = "SELECT 
            product,
            Size, 
            SUM(Quantity) AS TotalQuantity 
          FROM inventory
          GROUP BY product, Size";

請注意,我添加了一個列別名TotalQuantity ,這將允許您通過更合理的$row['TotalQuantity']而不是$row['SUM(Quantity)']更輕松地從獲取的行中檢索列

暫無
暫無

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

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