Объединение части имен

Как можно объединить часть имен на дэше?

Чтобы были группы “Пункт_1, Пункт_2, Остальные”

Пример запроса для объединения строк в группу:

select t.o, t.n, sum(t.r) r from(
  select case when row_number() over (order by r desc) > 3 then 4 else row_number() over (order by r desc) end o, case when row_number() over (order by r desc) > 3 then 'other' else n end n, r from(
    select 'name'||l::text n, random()*1000 r  from generate_series(1,10,1) l where ${filters()}
    ) t 
  ) t
group by t.o, t.n
order by t.o

здесь третий select имитирует изначальный запрос пользователя, который возвращает какое-то количество строк вида:

пункт_1 - 16584 - …
пункт_2 - 74654 - …

пункт_n - 45357 - …

Второй select сортирует строки по убыванию и объединяет все кроме первых n строк (в данном случае 3), таким образом создавая таблицу:

пункт_1 - 16584 - …
пункт_2 - 74654 - …
остальное - 684354 - …

Последний select выбирает необходимые столбцы из таблицы выше

подробнее про фильтрацию можно посмотреть здесь: https://help.luxmsbi.com/-925