PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Selecione os três principais valores em cada grupo


Tente isto:
SELECT company, val FROM 
(
    SELECT *, ROW_NUMBER() OVER (PARTITION BY 
             company order by val DESC) AS Row_ID FROM com
) AS A
WHERE Row_ID < 4 ORDER BY company

--Demonstração rápida aqui...