我只有一个包含 4 列的表:A、B、C 和 D
我有一张 SUM
的表格所有 A-B 组合的 C。
SELECT
A,
B,
SUM(C),
FROM Table
GROUP BY A, B
我有一张 AVG
的表格当 C = 1 时,所有 A-B 组合的 D 的值。
SELECT
A,
B,
AVG(D),
FROM Table
WHERE C = 1
GROUP BY A, B
重新组合这些的最佳方式是什么 SELECT
单个查询中的语句保留我的 GROUP BY A, B
?
我尝试RIGHT JOIN ... ON A.Table = A.Table AND B.Table = B.Table
,但这并没有完全奏效。
最佳答案
您可以通过条件聚合来做到这一点:
SELECT A, B, SUM(C),
avg(case when C = 1 then D end)
FROM Table
GROUP BY A, B
关于mysql - JOIN SQL 函数结果与一张表中的多个 WHERE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19803049/