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
Lepaskan: 2024-12-17 00:29:25
asal
803 orang telah melayarinya

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
Salin selepas log masuk

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)
Salin selepas log masuk

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
Salin selepas log masuk

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!

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