Я новичок ie здесь и все еще сталкиваюсь с множеством проблем в HiveQL, нужно проконсультироваться со всеми вами. У меня есть таблица с именем «Таблица голосования», и я хочу посчитать «да» за A, B, C, D (извините, я не смог опубликовать изображение, поэтому вместо этого я отправил его как ссылку ).
Vote_table
Но здесь я бы хотел объединить только подсчет A1, A2, A3, A4; а для B C будет по-прежнему учитываться индивидуально. Результат, который я ожидаю, будет
Result_table
То, что я пробовал, это
select
type,
count(
case
when type = 'A1' and vote = 'yes' then 1
when type = 'A2' and vote = 'yes' then 1
when type = 'A3' and vote = 'yes' then 1
when type = 'A4' and vote = 'yes' then 1
else vote = 'yes' then 1
)
from vote_table
where …
group by type
Я тоже пробовал таким образом
if (type in ('A1', 'A2', 'A3', 'A4') and vote = 'yes' then count(*) else (if (vote = 'yes' then count(*)))) as cnt_yes
Но оба не работают. Итак, я хотел бы проконсультироваться с экспертами здесь, есть ли лучший способ сделать это? Спасибо!