ここでは、SQL を使用して複数のデータを 1 つにまとめる方法を示します。
シナリオ例
次のテーブルデータを例として使用します。
class | gender | name |
---|---|---|
1 | M | LiLei |
1 | F | HanMM |
1 | M | Jim |
2 | F | Kate |
2 | M | Peter |
一般的なシナリオは次のとおりです。
class | names |
---|---|
1 | LiLei,HanMM,Jim |
2 | Kate,Peter |
区切り文字を使用して文字列を連結するには、次の文を使用します。
SELECT class, wm_concat(',', name) FROM students GROUP BY class;
シナリオ 2もう 1 つの一般的な必須条件は次のとおりです。
class | cnt_m | cnt_f |
---|---|---|
1 | 2 | 1 |
2 | 1 | 1 |
複数の列を変更する必要がある場合は、次の文を使用します。
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;