如果第二列和第三列相同,则忽略第一列值的GROUP BY子句

时间:2017-03-29 15:32:51

标签: mysql sql group-by

数据库服务器是MySQL

我有一个SQL查询,使用" GROUP BY"条款如下:

SELECT col1, col2, col3, SUM(col4), SUM(col5) where col6 = 20 GROUP BY col1, col2, col3

当col2和col3具有不同的值但col2和col3具有相同的值时,一切正常

col1    col2   col3   col4   col5
a       1      2       1      1
b       1      2       2      2       
b       1      2       3      3
c       1      2       4      4

查询结果为

c       1      2       10     10

我在期待

a       1      2       1     1
b       1      2       5     5
c       1      2       4     4

为什么" GROUP BY"忽略col1值不完全相同的事实,只显示它找到的最后一个?

提前致谢

1 个答案:

答案 0 :(得分:0)

用户错误 - 结果我是别名col1,表中有一个同名的列,因此GROUP BY使用列名而不是别名。列名称问题甚至不是查询的一部分。

在其他人写的系统上工作的陷阱。

感谢您的所有建议/意见