我需要帮助将一个mysql查询写入一个列中的SUM金额,其中另一个列的值可能会有所不同,具体取决于它包含的值。这是我的表的一个例子。
account type amount
------- ---- ------
Dell Inventory 500.00
Microsoft Inventory 100.00
Cisco Inventory 300.00
Dell Inventory 400.00
Webhosting Service 15.00
到目前为止,这是我所拥有的,它并不多,但我想不出一个好方法。
$result = mysql_query("SELECT * FROM table WHERE type = 'Inventory'");
while($row = mysql_fetch_array($result)){
Sum the amounts for each account type. The account types are not fixed, will change regularly
}
正如我上面的说明所示,帐户字段不会被修复,因此我无法使用帐户名称对查询进行硬编码。
然后我想要一份详细说明每个帐户总数的报告。
Dell $900
Microsoft $100
Cisco $300
感谢您的帮助!
答案 0 :(得分:4)
您需要使用汇总函数SUM()
来获取每个帐户的总金额。
SELECT account, SUM(amount) totalAmount
FROM tableName
WHERE type = 'inventory'
GROUP BY account
答案 1 :(得分:1)
我认为您可以使用GROUP BY
按account
对记录进行分组,因此您可以使用SUM()
函数汇总所有金额
SELECT account, SUM(amount) as total
FROM table
WHERE type = 'inventory'
GROUP BY account
答案 2 :(得分:1)
SELECT `account`,sum(`amount`) FROM `table_name` WHERE `type`='Inventory' group by `account`