如何在Snowflake SELECT语句中添加别名并解决DISTINCT语法错误?
解决Snowflake中SELECT添加固定列并去重的语法错误
你的问题出在DISTINCT关键字的位置上——SQL语法要求DISTINCT必须紧跟在SELECT之后,用来指定对整个结果集的行进行去重,不能放在列的中间位置。
要实现“新增固定值列new_field,同时对existing_field去重”的需求,有两种可行写法:
方法一:使用DISTINCT(推荐)
将DISTINCT移到SELECT之后,确保对new_field和existing_field的组合行去重(由于new_field是固定值,实际效果就是保留existing_field的唯一值并带上固定列):
SELECT DISTINCT "some_value" AS new_field, existing_field FROM t1;
方法二:使用GROUP BY
如果只需要确保existing_field的值唯一,也可以通过GROUP BY实现,因为固定值列new_field在每个分组中值一致,可直接被选中:
SELECT "some_value" AS new_field, existing_field FROM t1 GROUP BY existing_field;
这两种写法在你的场景下结果一致,可根据习惯选择。
内容的提问来源于stack exchange,提问作者Chuck
相关产品推荐
相关产品推荐

