PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

postgresql - dapatkan hitungan berdasarkan rentang nilai

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;

Dengan versi 9.4 yang akan datang, ini dapat ditulis sedikit lebih mudah dibaca:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Petunjuk di PostgreSQL

  2. ORDER BY dinamis dan ASC / DESC dalam fungsi plpgsql

  3. postgres array_agg ERROR:tidak dapat mengakumulasi array dengan dimensi berbeda

  4. pernyataan yang disiapkan menggunakan psycopg

  5. psycopg2:Perbarui beberapa baris dalam tabel dengan nilai dari tupel tupel