Невозможно использовать select selected и group by в запросе impala - PullRequest
1 голос
/ 04 октября 2019

select distinct actor, count(id) from table group by actor;

Таблица

actor   id
a        2
a        2
b        1
b        2

Импала выдает ошибку как:

AnalysisException: невозможно объединить SELECT DISTINCT с агрегатными функциями или GROUP BY

1 Ответ

1 голос
/ 04 октября 2019

Если вы хотите посчитать строки с ненулевым идентификатором для каждого субъекта, тогда вам вообще не нужно различать, потому что у вас есть группировка по, и каждая группа акторов с ее идентификатором будет выбрана только один раз:

select actor, count(id) from table group by actor; --counts not null id rows per actor

Вы можете применить отличные к столбцу идентификаторов, если вы хотите рассчитать только отдельные идентификаторы для каждого актера. Для вашего примера подсчета данных (отличный идентификатор) для actor = 'a' вы получите 1, а для actor = 'b' это будет 2:

select actor, count(distinct id) from table group by actor; --counts distinct not null id per actor

Подробнее о Impala DISTINCT .

...