Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menapis Nilai Tunai mengikut Tarikh dalam SQL untuk Jumlah Penjumlahan?

Bagaimana untuk Menapis Nilai Tunai mengikut Tarikh dalam SQL untuk Jumlah Penjumlahan?

Mary-Kate Olsen
Lepaskan: 2025-01-05 03:11:43
asal
475 orang telah melayarinya

How to Filter Cash Values by Date in SQL for Total Summation?

Menjumlahkan Nilai Tunai dengan Penapisan Tarikh dalam SQL

Seperti yang anda nyatakan, anda mempunyai penyata SQL yang mengira jumlah tunai untuk setiap transaksi unik ID menggunakan baris berikut:

select sum(cash) from Table a where a.branch = p.branch and a.transID = p.transID) TotalCash
Salin selepas log masuk

Untuk mengubah suai penyata ini kepada hanya jumlah nilai tunai yang mempunyai tarikh nilai dalam tempoh terakhir bulan, anda boleh mengemas kininya dengan cara berikut:

select SUM(CASE WHEN ValueDate > @startMonthDate THEN cash ELSE 0 END)
from Table a where a.branch = p.branch and a.transID = p.transID) TotalMonthCash
Salin selepas log masuk

Penjelasan:

  • KES BILA...KEMUDIAN...LAIN ...TAMAT: Ini ialah sintaks ungkapan CASE yang dicari, yang membandingkan ungkapan Boolean (dalam kes ini, ValueDate > @startMonthDate) kepada set keputusan. Jika ungkapan Boolean adalah benar, ia mengembalikan nilai tunai; jika tidak, ia mengembalikan 0.
  • SUM(): Fungsi ini digunakan untuk mengira jumlah nilai tunai yang memenuhi kriteria penapisan tarikh.

Pengoptimuman Prestasi:

Sebagai nota sampingan, jika prestasi pertanyaan anda menjadi isu, pertimbangkan untuk menulis semula menggunakan JOIN dan GROUP BY dan bukannya subquery bergantung. Ini berpotensi meningkatkan masa pelaksanaan.

Atas ialah kandungan terperinci Bagaimana untuk Menapis Nilai Tunai mengikut Tarikh dalam SQL untuk Jumlah Penjumlahan?. 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