我需要帮助编写一个mysql查询来计算列中的金额,其中其他列的值可能因其包含的值而异。这是我桌子的一个例子。
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
}
如上所述,account字段不会被修复,因此我不能用帐户名称硬编码查询。
然后我想有一份详细说明每个帐户总数的报告。
Dell $900
Microsoft $100
Cisco $300
谢谢你的帮助!
最佳答案
您需要使用聚合函数SUM()
来获取每个帐户的总金额。
SELECT account, SUM(amount) totalAmount
FROM tableName
WHERE type = 'inventory'
GROUP BY account
MySQL GROUP BY (Aggregate) Functions
关于php - MySQL查询SUM动态金额,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16673643/