5

在庫システムの構築。多くの製品があり、各製品には 3 つの異なる変数があります。したがって、在庫合計については、2 つの列 (製品とサイズ) と合計数量でグループ化し、在庫合計を取得します。

製品 サイズ
ウィジェット 1 2 275
ウィジェット 1 2 100
ウィジェット 2 3 150
ウィジェット 2 2 150

私が出力したいもの:

製品 サイズ
ウィジェット 1 2 375
ウィジェット 2 3 150
ウィジェット 2 2 150

以下のコードを使用して、1 つの列でグループ化し、合計する方法を見つけました。

$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 />";
}
?>

両方の列によるグループ化に固執しています。出来ますか?または、3 つのサイズの 3 つの異なる製品を作成し、その列を削除する必要がありますか? ありがとう。

4

1 に答える 1

11

productあなたの例のテーブルに基づいて、ではなくグループ化したいようですid。リストとSize_SELECTGROUP BY

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

列エイリアスを追加したことに注意してください。これにより、TotalQuantityフェッチされた行から、$row['TotalQuantity']$row['SUM(Quantity)']

于 2012-06-14T01:42:51.127 に答える