কম্পিউটার টিউটোরিয়াল

MySQL에서 GROUP_CONCAT으로 전체 컬럼 값을 콤마 구분 단일 행으로 합치기

GROUP_CONCAT()으로 여러 행의 값을 하나의 문자열로 합치고, CONCAT()으로 각 값에 대괄호 등 장식을 추가할 수 있습니다.

테이블 생성 및 데이터 삽입

mysql> CREATE TABLE DemoTable1807 (
    -> Id INT
    -> );
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO DemoTable1807 VALUES(101);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1807 VALUES(102);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1807 VALUES(103);
Query OK, 1 row affected (0.00 sec)

데이터 조회

mysql> SELECT * FROM DemoTable1807;
+------+
| Id   |
+------+
|  101 |
|  102 |
|  103 |
+------+
3 rows in set (0.00 sec)

각 ID를 [ ]로 감싸 콤마로 결합

mysql> SELECT GROUP_CONCAT(CONCAT('[',Id,']')) FROM DemoTable1807;
+----------------------------------+
| GROUP_CONCAT(CONCAT('[',Id,']')) |
+----------------------------------+
| [101],[102],[103]                |
+----------------------------------+
1 row in set (0.00 sec)

옵션: GROUP_CONCAT(DISTINCT ...)로 중복 제거, ORDER BY Id로 정렬, SEPARATOR '; '로 구분자 변경. 최대 길이 제한(group_concat_max_len, 기본 1024) 주의.

  1. MySQL-এ CONCAT দিয়ে সকল কলাম একোকত্রিত করে নতুন কলাম তৈরি করা

  2. MySQL-এ নির্দিষ্ট কলামের মানগুচ্ছের আকার বের করা এবং যোগফল দেখানো

  3. কমা-বিচ্ছিন্ন MySQL কলাম থেকে অনুসন্ধান করা

  4. MySQL CONCAT()으로 여러 컬럼 값을 텍스트와 합쳐 단일 컬럼으로 출력하기