PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

SQL-Abfrage, die verschiedene Elemente in Buckets gruppiert

Eine erweiterte Option von dem, was Kerrek beschrieben hat, Sie können Ihre Gruppierung basierend auf einem Fall/Wann durchführen

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

Hier stellt "group by 1" die ordinale Spalte in Ihrer select-Anweisung dar... in diesem Fall case/when als TotalWithinRange.