数据库服务器是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值不完全相同的事实,只显示它找到的最后一个?
提前致谢
答案 0 :(得分:0)
用户错误 - 结果我是别名col1,表中有一个同名的列,因此GROUP BY使用列名而不是别名。列名称问题甚至不是查询的一部分。
在其他人写的系统上工作的陷阱。
感谢您的所有建议/意见