Vic*_*tor 3 sql group-by netezza
Netezza sql在此查询上出错:原因:无效的列名称'dummy'.
select col1,col2, '' as dummy, max(col3) from table1 group by col1,col2,dummy
Run Code Online (Sandbox Code Playgroud)
如果我从group by子句中删除虚拟,它工作正常.但是根据sql语法,我应该在group by中包含所有非聚合列.
为什么你需要在你的组中,你可以使用聚合函数,其结果总是正确的,因为值是常量,例如:
select col1,col2, min(' ') as dummy, max(col3) from table1 group by col1,col2
Run Code Online (Sandbox Code Playgroud)
小智 6
“dummy”是静态列(不在表中),因此不需要在 group by 中,因为它是外部列。
SELECT col1,
col2,
cast(5 as int) AS [dummy],
max(col3)
FROM test_1
GROUP BY col1,
col2,
col3,
'dummy'
Run Code Online (Sandbox Code Playgroud)
该代码产生外部引用错误#164。
查看这些链接
http://www.sql-server-helper.com/error-messages/msg-164.aspx
http://www.sql-server-helper.com/error-messages/msg-1-500.aspx