我需要帮助编写一个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/

10-12 04:12