Вот два метода:
select concat(dept, '-', class, '-', item) as item_no, count(*)
from t
group by concat(dept, '-', class, '-', item) ;
Или:
select concat(dept, '-', class, '-', item) as item_no, count(*)
from t
group by dept, class, item ;
Тем не менее я думал, что Hive поддерживает псевдонимы в group by
, поэтому это также должно работать:
select concat(dept, '-', class, '-', item) as item_no, count(*)
from t
group by item_no ;
Это не сработало бы, если бы item_no
был столбцом в таблице. И позиционная запись также работает:
select concat(dept, '-', class, '-', item) as item_no, count(*)
from t
group by 1 ;