SQL COUNT(DISTINCT(field1)) ГРУППИРОВКА ПО МАКСИМУМУ(filed2)

#sql #amazon-athena #presto

#sql #amazon-athena #presto

Вопрос:

У меня есть таблица, подобная

 name  num_try

John     2
John     1
Mike     3
Mike     2
Linda    2
 

И я хочу знать, сколько разных имен группируется MAX(num_try) .

Желаемый результат должен выглядеть следующим образом

 MAX(num_try)  COUNT(DISTINCT(names))
     2            2
     3            1
 

Можете ли вы помочь мне с этим запросом?

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

1. на самом деле это не имеет особого смысла .. можете ли вы объяснить, чего вы пытаетесь достичь?

2. Я хочу знать различное количество групп имен по их МАКСИМУМУ (num_try)

3. Я вижу … приятно… одна секунда

4. смотрите отредактированный ответ ниже

Ответ №1:

 select max_num_try, count(*) from 
(
   select name, max(num_try) as max_num_try
   from table1
   group by name
) a
group by max_num_try
order by max_num_try desc