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

Permintaan untuk mengambil hitungan per jam dan nol jika tidak ada

Anda perlu menghasilkan jam. Berikut adalah salah satu metode menggunakan generate_series() :

select '00:00'::time + g.h * interval '1 hour',
       count(order_id) as orders
from generate_series(0, 23, 1) g(h) left join
     order_table ot
     on extract(hour from create_date) = g.h and
        date_trunc('day', create_date) = '2013-05-09'
group by g.h
order by g.h;

Atau sebagai alternatif:

select g.dte, count(order_id) as orders
from generate_series('2013-05-09'::timestamp, '2013-05-09 23:00:00'::timestamp, interval '1 hour') g(dte) left join
     order_table ot
     on g.dte = date_trunc('hour', create_date) 
group by g.dte
order by g.dte;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hibernasi masalah ketidakcocokan kolom TEXT postgresql/hsqldb

  2. File log Postgres berisi:nomor potongan 0 yang hilang untuk nilai roti panggang 815441 di pg_toast_2619

  3. Bagaimana cara Menangkap catatan kesalahan menggunakan JDBCTemplate batchUpdate di postgreSql?

  4. Bagaimana cara melakukan Impor dan Memerlukan bersama?

  5. Tidak dapat terhubung ke database PostgreSQL di Heroku menggunakan Ruby - tidak dapat menerjemahkan nama host