Menguasai Pengiraan Peratusan dalam SQL: Panduan Praktikal
Menganalisis pengagihan data ialah aspek asas analisis data. Tugas utama melibatkan pengiraan peratusan setiap nilai yang berbeza dalam lajur tertentu. Ini amat berguna untuk memahami kekerapan kategori atau respons yang berbeza.
Panduan ini meneroka pelbagai teknik SQL untuk mengira peratusan, terutamanya apabila berurusan dengan data berasaskan teks seperti gred, di mana nilai yang tidak dijangka mungkin berlaku.
Kaedah 1: Memanfaatkan OVER()
Klausa
Klausa OVER()
menawarkan cara yang cekap untuk mengira peratusan dalam tetingkap baris yang ditentukan. Berikut ialah cara mengira peratusan setiap gred berbanding jumlah gred:
<code class="language-sql">SELECT Grade, COUNT(*) * 100.0 / SUM(COUNT(*)) OVER () FROM MyTable GROUP BY Grade;</code>
Kaedah 2: Pendekatan Universal untuk Keserasian Luas
Kaedah ini menyediakan keserasian SQL yang lebih luas dengan mengira peratusan berdasarkan jumlah bilangan baris dalam jadual:
<code class="language-sql">SELECT Grade, COUNT(*) * 100.0 / (SELECT COUNT(*) FROM MyTable) FROM MyTable GROUP BY Grade;</code>
Kaedah 3: Menggunakan Ungkapan Jadual Biasa (CTE)
Walaupun kurang cekap, CTE menyediakan pendekatan lain untuk mengira peratusan:
<code class="language-sql">WITH t(Grade, GradeCount) AS ( SELECT Grade, COUNT(*) FROM MyTable GROUP BY Grade ) SELECT Grade, GradeCount * 100.0 / (SELECT SUM(GradeCount) FROM t) FROM t;</code>
Teknik ini menawarkan fleksibiliti dalam mengendalikan data yang pelbagai dan menyediakan pengagihan peratusan yang tepat. Penganalisis data boleh menggunakan kaedah ini untuk meringkaskan dan mentafsir data dengan berkesan dalam jadual mereka.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Peratusan Nilai Berbeza dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!