sql >> Database teknologi >  >> RDS >> PostgreSQL

postgresql - få optælling efter værdiområder

select name, 
       count(case when value <= 5 then 1 end) as "0-5",
       count(case when value > 5 and value <= 10 then 1 end) as "5-10",
       count(case when value > 10 and value <= 15 then 1 end) as "10-15"
from the_table
group by name;

Med den kommende version 9.4 kan dette skrives lidt mere læsbart:

select name, 
       count(*) filter (where amount <= 5) as "0-5",
       count(*) filter (where value > 5 and value <= 10) as "5-10",
       count(*) filter (where value > 10 and value <= 15) as "10-15"
from the_table
group by name;



  1. SQL :Brug af måltabellen i en UPDATE-sætning i en indlejret FROM-sætning

  2. php, mysql-serveren er gået væk

  3. Udskriv php-tabel med Print-funktion via Printer

  4. Ydeevne af MySQL Insert-sætninger i Java:Batch-tilstand forberedte sætninger vs enkelt insert med flere værdier