【发布时间】:2011-06-10 08:49:00
【问题描述】:
我在名为“purchases”的表中有 3 列:
id amount price
2 2 21
2 5 9
3 8 5
我想对所有具有相似 ID 的行进行分组,并得到这个数组:
array([0] => [id => 2, total => 87 (because 2*21+5*9=87)], [1] => [id => 3, total => 40 (because 8*5=40)])
作为具有相似 ID 的行的 SUM(amount*price) 的总帐户。
我试过了
SELECT id, SUM(p.price*p.amount) total FROM purchases p GROUP by p.id
但效果不佳(即它没有达到我想要的,这是我上面写的)。 关于如何在 mysql 中执行此操作的任何想法?
查询返回的示例:
id amount price
2 3 89
2 3 19
SELECT id, SUM(p.price*p.amount) total FROM purchases p GROUP by p.id
==> [id => 2, total => 183]
【问题讨论】:
-
它实际上在做什么?你想让它做什么?它们是每个问题应该有的两个重要的东西。 “效果不好”这句话不是一个好的问题报告。
-
我已经给出了一个例子,请阅读这个例子。
-
它返回什么?您的确切数据是什么?
-
您确定要在同一个数据库上执行两个查询吗?