Rumah >pangkalan data >tutorial mysql >Bagaimanakah saya boleh mengumpulkan Data Berangka ke dalam Julat dalam SQL?

Bagaimanakah saya boleh mengumpulkan Data Berangka ke dalam Julat dalam SQL?

Barbara Streisand
Barbara Streisandasal
2025-01-17 21:21:11612semak imbas

How Can I Group Numerical Data into Ranges in 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!

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