Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengira Jumlah Terkumpul dalam PostgreSQL Menggunakan Fungsi Tetingkap?

Bagaimana untuk Mengira Jumlah Terkumpul dalam PostgreSQL Menggunakan Fungsi Tetingkap?

Mary-Kate Olsen
Lepaskan: 2025-01-12 17:31:50
asal
330 orang telah melayarinya

How to Calculate Cumulative Sums in PostgreSQL Using Window Functions?

Pengiraan jumlah terkumpul dalam PostgreSQL

Dalam pemprosesan data, selalunya perlu mengira jumlah kumulatif atau jumlah larian medan tertentu. Dalam PostgreSQL, ini boleh dicapai dengan mudah menggunakan fungsi tetingkap.

Pengenalan kepada fungsi tetingkap

Fungsi tetingkap membolehkan anda melakukan pengiraan pada baris yang dikumpulkan bersama berdasarkan syarat tertentu. Dalam contoh ini, kami ingin mengumpulkan baris dengan circle_id dan mengira jumlah kumulatif medan amount.

Pertanyaan untuk mengira jumlah kumulatif

Pertanyaan berikut menunjukkan cara mengira jumlah terkumpul:

<code class="language-sql">SELECT ea_month, id, amount, ea_year, circle_id, sum(amount) OVER (PARTITION BY circle_id ORDER BY ea_year, ea_month) AS cum_amt
FROM tbl
ORDER BY circle_id, ea_year, ea_month;</code>
Salin selepas log masuk

Dalam pertanyaan ini:

    Klausa
  • PARTITION BY mengumpulkan baris mengikut lajur circle_id.
  • Klausa
  • ORDER BY mengisih baris dalam setiap partition mengikut ea_year dan ea_month.
  • Klausa
  • OVER mentakrifkan tetingkap yang menggunakan fungsi sum() pada baris bermula dari setiap partition ke baris semasa.
  • Jumlah terkumpul yang terhasil disimpan dalam lajur cum_amt.

Memproses data tarikh dan masa

Jika lajur ea_year dan ea_month anda disimpan sebagai rentetan, pertanyaan akan diisih mengikut abjad dan bukannya mengikut kronologi. Untuk mengisih dengan betul, pertimbangkan untuk menukarnya kepada jenis tarikh sebelum melakukan pengiraan.

Kecualikan rakan sebaya

Dalam PostgreSQL 11 dan lebih baru, anda boleh menggunakan pilihan frame_exclusion untuk mengawal cara rakan sebaya dikendalikan dalam fungsi tetingkap. Ini membolehkan anda memasukkan atau mengecualikan baris tertentu daripada pengiraan.

Mengikut langkah ini, anda boleh mengira jumlah terkumpul dalam PostgreSQL dengan cekap, memberikan cerapan berharga ke dalam data anda.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Jumlah Terkumpul dalam PostgreSQL Menggunakan Fungsi Tetingkap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan