微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MySQL:按两列分组并求和

如何解决MySQL:按两列分组并求和

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

解决方法

建立库存系统。我有很多产品,每个产品都有三个不同的变量。因此,对于总库存,我想按两列(产品和尺寸)和总数量分组以获得总库存。

---------------------------------
|product      |Size  |Quantity  |
---------------------------------
|Widget one   |2     |275       |
---------------------------------
|Widget one   |2     |100       |
---------------------------------
|Widget two   |3     |150       |
---------------------------------
|Widget two   |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 />";
}
?>

我只是按两列分组。可能吗?还是应该仅针对这三种尺寸的商品创建三种不同的产品并删除该列?谢谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。