Topik ini menjelaskan cara menggunakan pernyataan SQL untuk menggabungkan beberapa baris data menjadi satu baris.
Data sampel
kelas | jenis kelamin | nama |
1 | M | LiLei |
1 | F | HanMM |
1 | M | Jim |
1 | F | HanMM |
2 | F | Kate |
2 | M | Peter |
Contoh
Contoh 1: Jalankan pernyataan berikut untuk menggabungkan baris dengan nilai yang sama di kolom kelas menjadi satu baris berdasarkan nilai di kolom nama, serta menghapus duplikat nilai di kolom nama. Anda dapat menerapkan penghapusan duplikat menggunakan subquery bersarang.
SELECT class, wm_concat(distinct ',', name) as names FROM students GROUP BY class;nullFungsi
wm_concatdigunakan untuk mengumpulkan data. Untuk informasi lebih lanjut, lihat Fungsi Agregat.Hasil berikut dikembalikan:
kelas
nama
1
LiLei,HanMM,Jim
2
Kate,Peter
Contoh 2: Jalankan pernyataan berikut untuk mengumpulkan statistik jumlah laki-laki dan perempuan berdasarkan nilai di kolom kelas:
SELECT class ,SUM(CASE WHEN gender = 'M' THEN 1 ELSE 0 END) AS cnt_m ,SUM(CASE WHEN gender = 'F' THEN 1 ELSE 0 END) AS cnt_f FROM students GROUP BY class;Hasil berikut dikembalikan:
kelas
cnt_m
cnt_f
1
2
2
2
1
1