SQL如何返回GROUP BY查询,以及如何汇总每个组列


How does SQL return a GROUP BY query and how to sum up each group column?

假设我有一个表:

     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。

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

应该做到这一点。

如果您想要更多的列,则必须在"分组依据"中对它们进行命名。

例如:

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

将为您提供找到的每个项目/所有者组合的汇总结果。

例如,您将使用

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

则SQL将返回项目、价格总额和项目数。使用关键字ITEMTOTALNUMBER可以通过您喜欢的数据库接口(PDO或mysqli)在PHP中进行检索。

像sqlfiddle这样的工具对于处理这样的东西非常方便。

Select sum (price) from table group by item

它将项目中具有相同值的所有行汇总在一起,并将项目相同的所有价格值相加

打电话的话,总数是310加150。