Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengira Jumlah Nilai Tunai dalam Bulan Terakhir dalam SQL?

Bagaimana untuk Mengira Jumlah Nilai Tunai dalam Bulan Terakhir dalam SQL?

Linda Hamilton
Linda Hamiltonasal
2024-12-17 00:29:25839semak imbas

How to Calculate the Sum of Cash Values within the Last Month in SQL?

Mengira Jumlah dengan Penapisan Bersyarat dalam SQL

Apabila berurusan dengan pernyataan SQL yang besar, selalunya perlu untuk mengira nilai ringkasan. Walau bagaimanapun, kadangkala diperlukan untuk hanya mempertimbangkan subset data berdasarkan keadaan tertentu. Artikel ini meneroka cara mengubah suai penyata sedia ada untuk mengira jumlah nilai tunai untuk ID transaksi unik, tetapi hanya untuk mereka yang mempunyai tarikh nilai dalam bulan lepas.

Masalah:

Untuk mengira jumlah tunai bagi setiap ID transaksi dalam penyata SQL yang kompleks, kod berikut digunakan:

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

Walau bagaimanapun, bertujuan untuk mengubah suai penyata ini kepada hanya menjumlahkan nilai tunai yang mempunyai tarikh nilai dalam bulan lepas.

Penyelesaian:

Kod yang disemak hendaklah menggantikan ungkapan CASE asal dengan berikut:

SUM(CASE WHEN ValueDate > @startMonthDate THEN cash ELSE 0 END)

Penjelasan:

The Ungkapan CASE dalam kod asal anda menggunakan sintaks yang salah. Sintaks SEARCH CASE diperlukan dalam kes ini kerana ungkapan Boolean sedang dinilai untuk menentukan keputusan:

CASE
     WHEN Boolean_expression THEN result_expression [ ...n ] 
     [ ELSE else_result_expression ] 
END

Dalam kod yang disemak, ungkapan CASE menyemak sama ada ValueDate lebih besar daripada @startMonthDate. Jika ya, jumlah tunai dimasukkan dalam pengiraan; jika tidak, ia digantikan dengan 0. Ini memastikan bahawa hanya nilai tunai dalam bulan lepas dipertimbangkan.

Pertimbangan Prestasi:

Jika prestasi menjadi isu, ia adalah disyorkan untuk mempertimbangkan menggunakan JOIN dan GROUP BY dan bukannya subquery bergantung. Ini boleh meningkatkan kelajuan pelaksanaan pernyataan.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Jumlah Nilai Tunai dalam Bulan Terakhir dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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