Re: Top 3 values for each group in PGSQL

Поиск
Список
Период
Сортировка
От Thomas Kellerer
Тема Re: Top 3 values for each group in PGSQL
Дата
Msg-id 50d9b39f-56f8-8bc8-a93a-d5feb16f4dd3@gmx.net
обсуждение исходный текст
Ответ на Top 3 values for each group in PGSQL  ("Ila B." <ilaria.battiston@gmail.com>)
Ответы Re: Top 3 values for each group in PGSQL  (Achilleas Mantzios <achill@matrix.gatewaynet.com>)
Список pgsql-sql
Ila B. schrieb am 01.03.2019 um 11:51:
> Hello,
> 
> I’m working on a health database and I’m trying to extract the most popular prescription codes from a custom table I
structuredlike this:
 
> 
> Year - Code - Count(code)
> 
> I want to extract the 3 codes with maximum count for each year. I know I should be using rank() but I don’t really
understandhow this works.
 
> I am using pgAdmin4 version 3.5 with PostgreSQL 10.6 on Windows 10 Pro and no permission to update.

Something along the lines:

select code, year, "count"
from (
   select code, year, "count", 
          dense_rank() over (partition by code, year order by "count" desc) as rnk
   from the_table
) t
where rnk <= 3;



В списке pgsql-sql по дате отправления:

Предыдущее
От: hubert depesz lubaczewski
Дата:
Сообщение: Re: Top 3 values for each group in PGSQL
Следующее
От: Rocky Ji
Дата:
Сообщение: Why does GROUP BY reduce number of rows?