我在MySQL中遇到了SUM()问题
问题描述:
我想获取由特定出席者出席的特定客户的BalanceAmt。标准是客户可以购买多件物品。每个购买的物品都已单独记录。在某些情况下'出席者'值将为NULL。我在MySQL中遇到了SUM()问题
这里是我的查询:
SELECT Customer, AttendedBy, SUM(BalanceAmt) FROM billing GROUP BY Customer
HAVING AttendedBy='attender' AND Customer='CustomerName'
我的问题是我得到总结不是值由“attender”(即包括NULL值)出席了会议。 帮我做吧..
感谢名单提前..
答
我的感觉还没有得到这个问题的权利,但我会写这样
SELECT Customer, SUM(BalanceAmt)
FROM billing
WHERE AttendedBy='attender' AND Customer='CustomerName'
GROUP BY Customer
SELECT语句我不知道该AssignedTo是什么。如果你想在客户的总和,AssignedTo那么这将是:
SELECT Customer, AssignedTo, SUM(BalanceAmt)
FROM billing
WHERE AttendedBy='attender' AND Customer='CustomerName'
GROUP BY Customer, AssignedTo
答
我认为你需要包括where
条款来排除空值...类似下面应该做的伎俩:
SELECT Customer, AssignedTo, SUM(BalanceAmt) FROM billing
WHERE not(BalanceAmt is null) AND AttendedBy='attender' AND Customer='CustomerName'
GROUP BY Customer, AssignedTo
HTH。
答
SELECT Customer, SUM(BalanceAmt)
FROM billing
WHERE AttendedBy='attender' AND Customer='CustomerName'
GROUP BY Customer
在你上面的查询group by
因为你已经把列where
子句中不是必需的。
您可以从select
中删除它,并且您还删除了group by
。
你可以写这样的东西,以获得客户明智的总和。
SELECT Customer, SUM(BalanceAmt)
FROM billing
WHERE AttendedBy='attender'
GROUP BY Customer;
很好地说...花了太多的时间与我的浏览器争吵,但得出了与你相同的结论。 – 2010-07-26 15:06:35
非常感谢。 – hol 2010-07-26 19:26:55