我试图选择一个单字段子查询的总和,但是找不到任何好的语法。
建议的解决方案here对我不起作用,因为我的子查询需要GROUP BY以避免重复输入。
这是子查询(简化了,因为它很长):
SELECT montant FROM table1
JOIN flag ON table1.flag = flag.id
JOIN historique ON historique.bu_id = flag.bu_id
WHERE historique.com_id = '144'
AND table1.date > '$aDate' AND table1.date_end < '$anotherDate'
GROUP BY table1.id
我想要的是:
SELECT SUM(Subquery) AS Total
但是它不能按原样工作,如果我不使用GROUP BY语句,它将多次计数table1.montant
编辑:这是带有COUNT(id)的完整子查询的屏幕截图,以向您展示我的意思:
答案 0 :(得分:0)
如果您需要一个总和,则应仅使用
SELECT sum(montant) FROM table1
JOIN flag ON table1.flag = flag.id
JOIN historique ON historique.bu_id = flag.bu_id
WHERE historique.com_id = '144'
AND table1.date > '$aDate' AND table1.date_end < '$anotherDate'
避免按
分组答案 1 :(得分:0)
我发现了问题:我的JOINs条件不好,我需要在table1和historique之间进行比较。现在没有重复的行