mysql:按两列分组并求和

hgqdbh6s  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(389)

建立库存系统。我有很多产品,每个产品有三个不同的变量。所以对于库存总量,我想按两列(产品和尺寸)和数量之和进行分组,得到库存总量。
productsizequantitywidget一个2275小部件一个2100小部件两个3150小部件两个2150
我想要的输出:
productsizequantitywidget一个2375小工具两个3150小工具两个2150
我用下面的代码算出了如何按一列分组和求和:

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

我只是被这两列的分组问题困住了。有可能吗?或者我应该为这三种尺寸的产品创建三种不同的产品,然后去掉这个列吗?谢谢。

nvbavucw

nvbavucw1#

根据您的示例表,您似乎希望对其进行分组 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)']` 

相关问题