Как попасть в топ-50 стран и оставить остальные страны сгруппированными для других в SQL Server - PullRequest
0 голосов
/ 26 июня 2019

Я хотел бы видеть TOP 50 стран, остальные страны должны быть сгруппированы как другие страны, используя CASE. Это возможно сделать? Пожалуйста, предложите.

1 Ответ

0 голосов
/ 26 июня 2019

Вы можете сделать это, используя оконные функции и агрегирование

select (case when seqnum <= 50 then country else 'others' end) as country,
       sum(?)
from (select t.*, row_number() over (order by ?) desc as seqnum
      from t
     ) t
group by (case when seqnum <= 50 then country else 'others' end)
order by 2 desc;

? для столбца, который вас интересует.

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