Получить максимальное количество с именем лидера - PullRequest
0 голосов
/ 01 марта 2019

Имя моего набора данных bollywood.csv:

enter image description here enter image description here

Это мои данные. Мне нужны актеры, которые играют большинство главных ролей в фильмах. Мне нужны имена главных актеров и количество фильмов, в которых они снимались.

Мой код:

select lead, count(*) as nos from bollywood group by lead order by nos desc;

И результат:

Amitabh 3
Akshay  3
John    3
Riteish 2
Shahrukh    2
Sunny   2
Emraan  2
Katrina 2
Nawazuddin  2
Tiger   2
Sharman 2
Manoj   2
Vidya   1
Tusshar 1
Tannishtha  1
Sushant 1
SunnyDeol   1
Sonam   1
Sonakshi    1
Siddarth    1
Shahid  1
Sandeep 1
Salman  1

Ответы [ 3 ]

0 голосов
/ 01 марта 2019

Если вы хотите, чтобы все актеры с большинством главных ролей (возможно, несколько записей):

    select lead, count(*) as nos
       from bollywood
         group by lead
           having count(*) = 
             (select max(cnt) from
               (select lead, count(*) cnt 
                 from bollywood 
                    group by lead ) tblBolly )
0 голосов
/ 01 марта 2019

Использовать оконные функции:

select lead, cnt
from (select lead, count(*) as cnt,
             rank() over (order by count(*) desc) as rnk
      from bollywood
      group by lead
     ) b
where rnk = 1;
0 голосов
/ 01 марта 2019

Используйте псевдостолбцу rownum с заказом (оракул).

select from (
  select lead, count(*) as nos
  from bollywood
  group by lead
  order by lead desc
)
where rownum = 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...