这个报错的原因是:select的字段没有出现在group by中.
刚开始看到这个错误的时候 我很惊奇,我的查询语句都没有group by,他怎么说我的group by有问题呢.呵呵
例子:
INSERT OVERWRITE TABLE refineAccess partition (day='2013-08-01',productcat)
select time,subporttype,IMSI,action,actionname,network,ActionModule,versionnum,trackid,is_online,count(*) as value , porttype,'2013-08-01',productcat from (
select DateFunction(actiontime,"yyyy-MM-dd HH:mm") as time,
subporttype,
IMSI,
action,
actionname,
network,
ActionModule,
porttype ,
trackid,
case when (versionnum is null OR trim(versionnum)='') then 'unknown version'
else versionnum end as versionnum ,
case when TrackId >0 then '在线'
else '本地'
end as is_online,
productcat
from t_feedbackaccessday )
tmp group by time,subporttype,porttype,IMSI,action,actionname,network,ActionModule,is_online,versionnum,trackid,productcat;
可以看到我的group by一堆字段,少一个都会报错,真的是很恶心.
应该是我的办法太土了,求批评指教.