假设我有一个表:
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将返回项目、价格总额和项目数。使用关键字ITEM
、TOTAL
和NUMBER
可以通过您喜欢的数据库接口(PDO或mysqli)在PHP中进行检索。
像sqlfiddle这样的工具对于处理这样的东西非常方便。
Select sum (price) from table group by item
它将项目中具有相同值的所有行汇总在一起,并将项目相同的所有价格值相加
打电话的话,总数是310加150。