как найти, какой элемент больше всего отображается в таблице sql - PullRequest
1 голос
/ 09 апреля 2020

У меня есть таблица, настроенная следующим образом:

band_id | song_name
1       | rolling
2       | stomp
1       | rage
3       | atmosphere

и так далее, как я могу узнать, какая группа появляется чаще всего?

1 Ответ

0 голосов
/ 09 апреля 2020

Вы можете использовать RANK() оконную функцию:

select t.band_id
from (
  select band_id, 
    rank() over (order by count(*) desc) rn
  from tablename
  group by band_id
) t
where t.rn = 1;

или, если вам не нужны связи в результатах:

select band_id
from tablename
group by band_id
order by count(*) desc limit 1;

См. Демоверсию . Результаты:

| band_id |
| ------- |
| 1       |
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...