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

consulta sql que agrupa diferentes itens em buckets


Uma opção expandida do que Kerrek descreveu, você pode agrupar com base em um caso/quando
select
      case when price >= 0 and price <= 10    then '  0 - 10'
           when price > 10 and price <= 50   then ' 10+ - 50'
           when price > 50 and price <= 100  then ' 50+ - 100'
           else 'over 100'
      end PriceRange,
      count(*) as TotalWithinRange
   from
      YourTable
   group by 1

Aqui, o "grupo por 1" representa a coluna ordinal em sua instrução select... neste caso, o caso/quando como TotalWithinRange.