【发布时间】:2011-02-17 01:58:31
【问题描述】:
我将连接三个表,然后将其中一个列与另一个列的值相乘。
SELECT t1.column, t2.column, SUM(t1.column * t2.column)
FROM table1 t1
INNER JOIN table2 t2
ON t1.id = t2.id
JOIN table3 t3
ON t2.id = t3.id
GROUP BY t1.column, t2.column;
这个查询符合我的要求,但我不明白为什么 GROUP BY 有效?
如果我将列添加到选择中,我是否还必须将列添加到分组依据?
【问题讨论】:
-
这是 GroupBy 的约束。非聚合的所有列都必须是 Group By Clause 的一部分...但是我不清楚您的问题...您到底在问什么?
-
“所有非聚合的列都必须是 Group By Clause 的一部分...” @S M Kamran:至少对于 MySQL 来说不是这样。
标签: sql database join group-by