Rumah >pangkalan data >tutorial mysql >Bagaimanakah saya boleh mengumpulkan Data Berangka ke dalam Julat dalam SQL?
Teknik SQL untuk Mengbinkan Data Berangka
Panduan ini menunjukkan cara mengkategorikan data berangka ke dalam julat yang ditentukan dalam pangkalan data SQL. Bayangkan anda mempunyai jadual dengan lajur berangka (cth., "skor"). Matlamatnya adalah untuk menjana ringkasan yang menunjukkan kiraan markah dalam setiap julat.
Contoh Ilustrasi:
Jadual ringkasan mungkin kelihatan seperti ini:
Score Range | Frequency |
---|---|
0-9 | 11 |
10-19 | 14 |
20-29 | 3 |
... | ... |
Berikut ialah cara untuk mencapai ini dalam SQL Server 2000 dan seterusnya:
Kaedah 1: Ungkapan KES dalam Subkueri
Kaedah ini menggunakan ungkapan CASE
dalam subkueri untuk menetapkan label julat pada setiap skor, diikuti dengan pertanyaan luar untuk mengira kejadian dalam setiap julat.
<code class="language-sql">SELECT t.range AS "Score Range", COUNT(*) AS "Frequency" FROM ( SELECT score, CASE WHEN score BETWEEN 0 AND 9 THEN '0-9' WHEN score BETWEEN 10 AND 19 THEN '10-19' ELSE '20-99' -- Handle scores outside defined ranges END AS range FROM scores ) t GROUP BY t.range;</code>
Kaedah 2: Ungkapan KES dalam Pertanyaan Utama
Sebagai alternatif, ungkapan CASE
boleh dibenamkan terus dalam pertanyaan utama, memudahkan sedikit struktur.
<code class="language-sql">SELECT CASE WHEN score BETWEEN 0 AND 9 THEN '0-9' WHEN score BETWEEN 10 AND 19 THEN '10-19' ELSE '20-99' -- Handle scores outside defined ranges END AS "Score Range", COUNT(*) AS "Frequency" FROM scores GROUP BY CASE WHEN score BETWEEN 0 AND 9 THEN '0-9' WHEN score BETWEEN 10 AND 19 THEN '10-19' ELSE '20-99' END;</code>
Kaedah ini mengumpulkan dan meringkaskan data dengan cekap ke dalam julat tersuai, menawarkan cerapan berharga tentang pengedaran data. Ingat untuk melaraskan pernyataan CASE
agar sepadan dengan julat skor khusus anda. Pertimbangkan untuk menambah pengendalian ralat untuk nilai di luar julat yang ditentukan.
Atas ialah kandungan terperinci Bagaimanakah saya boleh mengumpulkan Data Berangka ke dalam Julat dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!