Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengira Kiraan Bersyarat dalam SQL Server Tanpa COUNTIF?

Bagaimana untuk Mengira Kiraan Bersyarat dalam SQL Server Tanpa COUNTIF?

DDD
DDDasal
2025-01-11 12:52:46946semak imbas

How to Calculate Conditional Counts in SQL Server Without COUNTIF?

Menguasai Pengiraan Kiraan Bersyarat dalam SQL Server tanpa COUNTIF

Mengira baris dengan cekap berdasarkan keadaan khusus dalam pertanyaan SQL, terutamanya apabila menggunakan klausa GROUP BY, adalah penting untuk analisis data. Artikel ini menunjukkan cara mengira peratusan baris yang memenuhi kriteria tertentu—contohnya, mengira baris dengan nilai lajur bersamaan dengan 1—dalam SQL Server, di mana fungsi COUNTIF khusus tidak tersedia.

Penyelesaian itu memanfaatkan kuasa SUM dan CASE pernyataan:

<code class="language-sql">SELECT SUM(CASE WHEN myColumn = 1 THEN 1 ELSE 0 END)
FROM AD_CurrentView;</code>

Pertanyaan ini secara berkesan mengira kejadian di mana myColumn bersamaan dengan 1. Pernyataan CASE menetapkan 1 kepada baris yang memenuhi syarat dan 0 sebaliknya. SUM kemudian jumlahkan nilai ini, memberikan kiraan bersyarat yang diingini.

Untuk mengendalikan nilai NULL dengan anggun dan mengelakkan kemungkinan ralat atau hasil yang tidak tepat, gunakan pertanyaan yang diubah suai ini:

<code class="language-sql">SELECT SUM(CASE WHEN ISNULL(myColumn, 0) = 1 THEN 1 ELSE 0 END)
FROM AD_CurrentView;</code>

Versi ini menganggap nilai NULL sebagai 0, memastikan purata kiraan bersyarat yang tepat dalam MS SQL 2005 dan seterusnya, membolehkan analisis data yang lebih mantap.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Kiraan Bersyarat dalam SQL Server Tanpa COUNTIF?. 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