Rumah >pangkalan data >tutorial mysql >Bagaimana Mengira Nama Program Berbeza dengan betul dalam Pelayan SQL Menggunakan COUNT(DISTINCT)?

Bagaimana Mengira Nama Program Berbeza dengan betul dalam Pelayan SQL Menggunakan COUNT(DISTINCT)?

Linda Hamilton
Linda Hamiltonasal
2025-01-14 18:51:43277semak imbas

How to Correctly Count Distinct Program Names in SQL Server Using COUNT(DISTINCT)?

Mengira Nama Program Unik dalam Pelayan SQL dengan COUNT(DISTINCT)

Panduan ini menunjukkan cara mengira nama program unik dalam SQL Server dengan tepat menggunakan fungsi agregat COUNT(DISTINCT). Kami akan memeriksa isu pertanyaan biasa dan penyelesaiannya.

Cabaran:

Pertimbangkan jadual bernama cm_production yang mengandungi lajur seperti ticket_number, program_type, program_name dan push_number. Matlamatnya adalah untuk menentukan bilangan nama program yang berbeza bagi setiap program_type dan push_number. Percubaan awal mungkin kelihatan seperti ini:

<code class="language-sql">DECLARE @push_number INT;
SET @push_number = [HERE_ADD_NUMBER];

SELECT DISTINCT COUNT(*) AS Count, program_type AS [Type] 
FROM cm_production 
WHERE push_number=@push_number 
GROUP BY program_type</code>

Pertanyaan ini, walau bagaimanapun, tidak memberikan kiraan nama program unik yang betul.

Penyelesaian:

Pendekatan yang betul melibatkan penggunaan COUNT(DISTINCT):

<code class="language-sql">SELECT program_type AS [Type],
       COUNT(DISTINCT program_name) AS [Count]
FROM   cm_production
WHERE  push_number = @push_number
GROUP  BY program_type</code>

Penjelasan:

COUNT(DISTINCT program_name) hanya mengira nilai unik, bukan nol program_name dalam setiap kumpulan program_type. Nama program pendua tidak diendahkan. Ini menghasilkan kiraan tepat nama program yang berbeza untuk setiap jenis program.

Pertimbangan Lanjut:

Kata kunci DISTINCT serasi dengan pelbagai fungsi agregat, termasuk SUM(), MIN() dan MAX(). Apabila digunakan dengan COUNT(), ia berfungsi bersamaan dengan COUNT(DISTINCT 1) atau COUNT(NOT NULL).

Atas ialah kandungan terperinci Bagaimana Mengira Nama Program Berbeza dengan betul dalam Pelayan SQL Menggunakan COUNT(DISTINCT)?. 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