by shigemk2

当面は技術的なことしか書かない

missing eof at 'by' near 'group'

TreasureDataでSQL流そうと思ったら表題のエラーに見舞われたので、どうしたものかなと思っていたらHiveの問題でした。

hadoop - Hive Union Group By Error - Stack Overflow

select COUNT(distinct primary), COUNT(primary), mycolumn 
from  (select primary, mycolumn from mytablea where mycolumn >= a and mycolumn <= b 
     union all 
     select primary, mycolumn from mytableb where mycolumn >= a and mycolumn <= b) 
group by mycolumn

サブクエリでエイリアスをつけないとだめなんだって。

正しくは、こう。

select COUNT(distinct primary), COUNT(primary), mycolumn 
from  (select primary, mycolumn from mytablea where mycolumn >= a and mycolumn <= b 
     union all 
     select primary, mycolumn from mytableb where mycolumn >= a and mycolumn <= b) m
group by mycolumn