关于Hive的Repeated key in GROUP BY is erroneously displayed when using DISTINCT

林家的人 发布于 2014/11/20 19:58
阅读 1K+
收藏 0

早上查询数据总报错,现在还是不太明白,语句是这样的。

select
distinct
use_nbr,
coalesce(gprs_flux,0) flow_totaluse,
coalesce(gprs_flux,0) flow_use_value
from ods_user_info_monhth;



总是报错,大概的就是Repeated key in group by '0',

后来上网查了查http://osdir.com/ml/hive-dev-hadoop-apache/2014-06/msg01482.html,

好像是在一个查询中,有重复的表达式的话,用了distinct去重就会报错。

于是我把distinct 去掉去运行,果然可以正常运行。但是我还是得去重,所以我换个思路,

select
distinct
use_nbr,
coalesce(gprs_flux,0) flow_total_use,
case when gprs_flux is null or gprs_flux like '' then 0 else gprs_flux end  flow_use_value
from ods_user_info_monhth;



这样就有正常的运行了,可是我还是不太明白为什么distinct 和 重复的表达式为什么不能并存,有 好思路的大哥大姐给说说吧。


加载中
返回顶部
顶部