全部产品
Search
文档中心

MaxCompute:Menggabungkan beberapa baris data menjadi satu baris

更新时间:Jun 19, 2025

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;
    null

    Fungsi wm_concat digunakan 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