嗨,我有下面的源表“状态表”
date status name
2017-06-22 true 1.tar
2017-06-22 true 2.tar
2017-06-22 false 3.tar
2017-06-22 true 4.tar
2017-06-22 false 5.tar
2017-06-21 false 6.tar
2017-06-21 false 6.tar
2017-06-21 false 6.tar
2017-06-21 true 6.tar
我有下面的目标表列和预期的数据
True False Total Date
3 2 5 2017-06-22
1 3 4 2017-06-21
我在下面编写了一个查询,将数据从源表加载到目标表,但它说 Expression not in GROUP BY key
```
SET hive.exec.dynamic.partition.mode=nonstrict;
SET hive.auto.convert.join=true;
INSERT OVERWRITE TABLE destination PARTITION(date_time)
SELECT
count(status=true) AS success,
count(status=false) AS fail,
success + fail
FROM
status;
请帮我处理丢失的链接。提前谢谢。
2条答案
按热度按时间ercv8c1e1#
配置单元不支持select子句中的别名引用(
success + fail
)COUNT
计算所有不为空的值。false不为空。Date
是一个保留字。使用'date'或者更好的方法,找到另一个名字。你还没有分组
Date
.使用动态分区时,应最后选择分区列。
hlswsv352#
谢谢你的回答,但我发现我的错误,我是用计数函数,而不是总和。下面是代码。