как выбрать несколько столбцов из таблицы, используя group by (на основе одного столбца), имея и подсчитывая в запросе hive

#hiveql #impala

#hiveql #impala

Вопрос:

Требование:
использовать group by A и получать записи, имеющие количество> 1
, например:

 SELECT count(sk), id, sk
FROM table x
GROUP BY id
HAVING COUNT(sk) > 1 
  

Но я не могу выбрать sk в инструкции select. Есть ли какой-либо другой способ сделать это. как использовать раздел для этого набора входных и выходных данных, прикрепленного здесь?

Комментарии:

1. Вы можете использовать аналитические функции. Ваш ввод и вывод неясны. Пожалуйста, задайте вопрос в соответствии с руководящими принципами

Ответ №1:

Что-то подобное вы можете сделать.

 select * from (
SELECT count(sk)over(partition by id) as cnt, id, sk
FROM table x) a
where a.cnt >1