Menentukan bilangan entri unik dalam set data ialah tugas biasa dalam analisis data. SQL Server menawarkan kaedah mudah untuk mengira nilai yang berbeza menggunakan fungsi COUNT(DISTINCT)
. Ini amat berguna apabila berurusan dengan set data yang besar yang memahami kejadian unik adalah penting.
Mari kita pertimbangkan jadual cm_production
, yang menyimpan maklumat tentang penggunaan kod termasuk nombor tiket, jenis program, nama program dan nombor tolak. Objektif kami adalah untuk menentukan kiraan nama program unik, dikategorikan mengikut jenis program dan nombor tolak.
Pendekatan awal yang salah 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, walaupun nampaknya betul, sebenarnya mengira semua nama program, bukan hanya nama yang unik. Kunci untuk mendapatkan kiraan yang betul terletak pada penggunaan fungsi COUNT(DISTINCT <expression>)
. Fungsi ini secara khusus mengembalikan bilangan unik, nilai bukan nol untuk ungkapan tertentu.
Pertanyaan SQL yang diperbetulkan adalah seperti berikut:
<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>
Pertanyaan yang diperhalusi ini memanfaatkan COUNT(DISTINCT program_name)
untuk mengira dengan tepat nama program yang berbeza untuk setiap jenis program dan push_number
yang ditentukan. Ini memberikan perwakilan tepat bagi penggunaan kod unik dalam pangkalan data.
Atas ialah kandungan terperinci Bagaimana Mengira Nama Program Berbeza dalam Pelayan SQL Menggunakan COUNT(DISTINCT)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!