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

Buat daftar semua hari per bulan dan bagi nilai secara merata untuk setiap hari

demo:db<>biola

SELECT
    gs::date,
    costs /  COUNT(*) OVER (PARTITION BY entry_date)    -- 3
FROM costs,
    generate_series(                                    -- 2
        entry_date,
        entry_date + interval '1 month - 1 day',        -- 1
        interval '1 day'
    ) gs
  1. Perhitungan hari terakhir bulan (tambahkan satu bulan ke bulan pertama untuk mendapatkan hari pertama bulan berikutnya, kurangi satu hari darinya)
  2. Buat rangkaian tanggal dari awal hingga akhir bulan
  3. Penggabungan data Anda dengan rangkaian yang dihasilkan sudah menduplikasi nilai biaya, yang hanya perlu dibagi dengan hitungan hari setiap bulan, yaitu COUNT() fungsi jendela dilakukan di sini



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Temukan Nilai yang Tidak Mengandung Angka di PostgreSQL

  2. Dapatkan Abad dari Tanggal di PostgreSQL

  3. sarankan alat postgres untuk menemukan perbedaan antara skema dan data

  4. Cara Mendekode Log Kesalahan PostgreSQL

  5. Menggunakan pt-pg-summary Percona Toolkit untuk PostgreSQL