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

date_trunc interval 5 menit di PostgreSQL

SELECT date_trunc('hour', date1) AS hour_stump
     , (extract(minute FROM date1)::int / 5) AS min5_slot
     , count(*)
FROM   table1
GROUP  BY 1, 2
ORDER  BY 1, 2;

Anda dapat GROUP BY dua kolom:stempel waktu dipotong menjadi jam dan slot 5 menit.

Contoh menghasilkan slot 0 - 11 . Tambahkan 1 jika Anda lebih suka 1 - 12 .
Saya memberikan hasil extract() ke bilangan bulat, jadi pembagian / 5 memotong angka pecahan. Hasilnya:
menit 0 - 4 -> slot 0
menit 5 - 9 -> slot 1
dst.

Kueri ini hanya mengembalikan nilai untuk slot 5 menit tempat nilai ditemukan. Jika Anda menginginkan nilai untuk setiap slot atau jika Anda ingin jumlah berjalan lebih dari 5 menit, pertimbangkan jawaban terkait ini:

  • PostgreSQL:menjalankan hitungan baris untuk kueri 'menurut menit'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara MENGUBAH tabel PostgreSQL dan membuat kolom menjadi unik?

  2. Meningkatkan kecepatan kueri:SELECT sederhana di tabel postgres besar

  3. Pembagian bilangan bulat mengembalikan 0

  4. Ubah semua catatan di postgres ke Titlecase, huruf besar pertama

  5. Kesalahan SALINAN PG:sintaks input tidak valid untuk bilangan bulat