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

时间:2015-11-11 09:22:39

标签: php mysql group-by

假设我有一张桌子:

     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美元。

3 个答案:

答案 0 :(得分:3)

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组合的汇总结果。

答案 1 :(得分:2)

您将使用

SELECT ITEM, SUM(PRICE) AS TOTAL, COUNT(*) AS NUMBER FROM table GROUP BY ITEM;
然后SQL将返回项目,总价格和项目数量。通过您最喜欢的数据库接口(PDO或mysqli),使用密钥ITEMTOTALNUMBER可以在PHP中进行检索。

sqlfiddle这样的工具非常便于玩这类东西。

答案 2 :(得分:0)

Select sum (price) from table group by item

它将item中相同值的所有行组合在一起,并且将所有值相同的值放在一起并将它们加在一起

电话,总和是310加150。