我使用此查询获取单个总值:

SELECT SUM(`contact_awards`.`amount`) AS amount
FROM (`contact_awards`)
WHERE
    `contact_awards`.`gift_award_id` IN (1)
AND `created` BETWEEN '2013-05-05' AND '2014-04-01'
GROUP
    BY `contact_awards`.`amount`

但是,当运行时,它生成两行包含amount字段:
500
1000

为什么它不运行sum1500的单行?
谢谢你的帮助

最佳答案

删除GROUP BY子句,

SELECT SUM(contact_awards.amount) AS amount
FROM   contact_awards
WHERE  contact_awards.gift_award_id IN (1)
       AND created BETWEEN '2013-05-05' AND '2014-04-01'

获得两条记录的原因是有两个不同的contact_awards.amount值被分组。

关于mysql - sql总和和组通过给多个行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16280776/

10-10 23:27
查看更多