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

Mengambil jumlah baris dan mengembalikan 0 saat tidak ada baris

Dengan asumsi dibuat bertipe tanggal karena kurangnya informasi.

Postgres menyediakan generate_series() untuk membuatnya mudah:

SELECT d.created, COUNT(s.id) AS ct
FROM  (
   SELECT generate_series(min(created)
                        , max(created), interval '1 day')::date AS created
   FROM   signups
   ) d
LEFT   JOIN signups s USING (created)
GROUP  BY 1
ORDER  BY 1 DESC;

Ini mengambil hari minimum dan maksimum dari tabel Anda secara otomatis dan menyediakan satu baris per hari di antaranya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengapa transaksi PostgreSQL ini memberikan PERINGATAN:tidak ada transaksi yang sedang berlangsung

  2. Sustract dua query dari tabel yang sama

  3. Apakah mungkin untuk mengeluarkan VACUUM ANALYZE <tablename> dari psycopg2 atau sqlalchemy untuk PostgreSQL?

  4. Perbedaan waktu dalam jam kerja

  5. Kira-kira seberapa cepat JSON -> konversi kolom JSONB di Postgres 9.4