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
Lepaskan: 2025-01-14 18:51:43
asal
276 orang telah melayarinya

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

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

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!

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