【问题标题】:How does SQL return a GROUP BY query and how to sum up each group column? [closed]SQL如何返回一个GROUP BY查询以及如何对每个组列求和? [关闭]
【发布时间】:2015-11-11 09:22:38
【问题描述】:

假设我有一张桌子:

     ID  ITEM      OWNER   PRICE
     1   phone      joe     150
     2   tablet     joe     220
     3   phone      joe     310
     4   tablet     joe     180
     5   tablet     tom     190

我想得到根据项目分组的结果,所以我使用类型为“SELECT * FROM table GROUP BY ITEM”的查询,sql 将如何返回结果以便我可以将它们分组并使用 PHP 获得每个组的每个项目类别的总价格?例如手机总成本为 460。

【问题讨论】:

  • 您是否尝试运行查询并查看结果?

标签: php mysql group-by


【解决方案1】:
SELECT ITEM, SUM(PRICE) AS summedprice FROM tblWhatever GROUP BY ITEM;

应该可以解决问题。

如果您想要更多列,请务必在“分组依据”中为它们命名。

例如:

SELECT ITEM, OWNER, SUM(PRICE) AS summerprice FROM tblWhatever GROUP BY ITEM, OWNER;

将为您提供找到的每个 ITEM/OWNER 组合的汇总结果。

【讨论】:

    【解决方案2】:

    例如,您将使用

    SELECT ITEM, SUM(PRICE) AS TOTAL, COUNT(*) AS NUMBER FROM table GROUP BY ITEM;
    

    然后 SQL 将返回商品、总价格和商品数量。可以通过您最喜欢的数据库接口(PDO 或 mysqli)使用 ITEMTOTALNUMBER 键在 PHP 中检索。

    sqlfiddle 之类的工具非常适合玩这类东西。

    【讨论】:

      【解决方案3】:
      Select sum (price) from table group by item
      

      它将 item 中具有相同值的所有行放在一起,然后 sum 将 item 相同的所有价格值放在一起并将它们加在一起 ​​

      例如电话,总和是 310 加 150。

      【讨论】:

        猜你喜欢
        • 2015-12-30
        • 1970-01-01
        • 2022-01-15
        • 2013-11-22
        • 2016-07-17
        • 2015-01-22
        • 2020-07-19
        • 2015-06-20
        • 1970-01-01
        相关资源
        最近更新 更多