[MySQL] concat, group_concat 사용방법

컬럼의 문자 연결

MySQL에서 컬럼의 문자를 연결하는 대표적인 함수는 다음과 같습니다.

 

▶︎ concat :

컬럼 데이터와 컬럼 데이터를 연결합하여 하나의 스트링 문자열로 표시합니다.

 

▶︎ group_concat :

특정컬럼의 결과값을 하나의 가로열(ROW) 표시합니다.

 

예제

▶︎ concat :

mysql> select * from concat_test;
+------+------+-------+
| c1   | c2   | c3    |
+------+------+-------+
| 1    | A    | COMMA |
| 2    | B    | DESK  |
+------+------+-------+
2 rows in set (0.00 sec)

 

 

mysql> select concat(c1,c2,c3) from concat_test;
+------------------+
| concat(c1,c2,c3) |
+------------------+
| 1ACOMMA          |
| 2BDESK           |
+------------------+

 

▶︎ group_concat :

1. 컬럼값들을 단순 가로로 연결하기

select group_concat(dept_no) from dept;
d001,d002,d003,d004...

 

2. 컬럼값값들을 가로로 연결시 구분자를 이용해서 연결

select group_concat(dept_no separator '|') from dept;
d001 | d002 | d003 | d004...

 

3. 컬럼값들에 대해 정렬을 추가하서 가로로 연결

select group_concat(dept_no order by deptname desc) from dept;
d004,d003,d001,d002...

 

4. 컬럼값들에 대해 중복값을 제거 정렬순서 추가해서 가로로 연결

select group_concat(distinct(dept_no) order by deptname desc) from dept;
d004,d003,d001,d002...

Designed by JB FACTORY