HiveSQL踩坑记录-NULL判断、字符串拼接、执⾏报错:Expressionnotin。。
。
记录在使⽤Hive SQL 过程中的错误信息
【Hive SQL踩坑】NULL判断、字符串拼接、执⾏报错:Expression not in GROUP BY key
对于NULL判断
select last_visit_day,
case
when last_visit_day is NULL then datediff('2021-06-01','2021-05-01')
else COALESCE(datediff(stat_dt, last_visit_day),0)
end as consecutive_days_without_access from statisical_visit_d;
对于NULL的判断不能⽤‘=’或者‘==’判断,应该使⽤is NULL or is not NULL
字符串拼接datediff是字符型函数
select case
when weekofyear('2021-06-01')<10then CONCAT('wk0',1)
when weekofyear('2021-06-01')>=10then CONCAT('wk',10)
end as week_id from statisical_visit_d
对于字符串拼接不能使⽤+拼接,要使⽤**CONCAT(’’,’’)**进⾏拼接
执⾏报错:Expression not in GROUP BY key
Hive与Mysql的SQL语句类似,但是有⼀定的差别,对于Hive来说,查询条件中只能是group by对应的列或者其他列的聚合函数,例如:通过sum、avg、count等加⼯的其他列。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论