이번에 포스팅 할 내용은 세로로 출력된 쿼리 결과를 하나의 컬럼값에 가로로 구분자를 주는 예를 들어볼까 합니다.






위 화면은 어느 사이트의 강좌별 진행일에 대한 내용을 캡처를 한것입니다.

보시면 요일별 구분자가 정해져 있는것을 확인하실 수 있습니다.





위처럼 쿼리 결과를 구분자를 이용하여




월,화,수,목,금,토



형식으로 지원을 해주는 것이 

MySQL에서는 group_concat()이라는 함수입니다.


group_concat을 이용하면 for문을 사용해서 위처럼 가로로 출력할 필요(?)가 없어지겠죠? ㅎㅎ


그럼 group_concat에 대하여 알아보도록 하겠습니다.


mysql group_concat() 함수 사용법

1
group_concat(가로로 출력할 컬럼명 SEPARATOR '구분자')


위처럼 정해주면 되시겠습니다.

그렇다면 한번 기존에 존재하는 테이블 데이터중 아무거나 컬럼하나를 지정하여 쿼리결과를 가로로 변환해 보도록 하겠습니다.





위처럼 BOARD_NEW라는 테이블의 title 컬럼의 결과목록을 가로로 출력 해보도록 하겠습니다.


※ GROUP_CONCAT 함수의 SEPARATOR '구분자' 부분을 정의를 안하시면 DEFAULT 콤마(,)로 구분이 되어서 

    출력이 되어집니다. SEPARATOR 지정여부로 결과를 출력해보도록 하겠습니다.


SEPARATOR 지정하기 않을경우 쿼리


1
SELECT GROUP_CONCAT(title) FROM board_new

실행결과



SEPARATOR 지정하여 구분자 변경한 쿼리


1
SELECT GROUP_CONCAT(title SEPARATOR '|') FROM board_new

실행결과






GROUP_CONCAT함수를 사용해서 위와같이 세로 결과를 하나의 컬럼에 가로로 구분자를 주어서 출력을 해보았습니다 ^^



by 개발로짜