이번에 포스팅 할 내용은 세로로 출력된 쿼리 결과를 하나의 컬럼값에 가로로 구분자를 주는 예를 들어볼까 합니다.
위 화면은 어느 사이트의 강좌별 진행일에 대한 내용을 캡처를 한것입니다.
보시면 요일별 구분자가 정해져 있는것을 확인하실 수 있습니다.
월
화
수
목
금
토
위처럼 쿼리 결과를 구분자를 이용하여
월,화,수,목,금,토
형식으로 지원을 해주는 것이
MySQL에서는 group_concat()이라는 함수입니다.
group_concat을 이용하면 for문을 사용해서 위처럼 가로로 출력할 필요(?)가 없어지겠죠? ㅎㅎ
그럼 group_concat에 대하여 알아보도록 하겠습니다.
mysql group_concat() 함수 사용법
group_concat(가로로 출력할 컬럼명 SEPARATOR '구분자')
위처럼 정해주면 되시겠습니다.
그렇다면 한번 기존에 존재하는 테이블 데이터중 아무거나 컬럼하나를 지정하여 쿼리결과를 가로로 변환해 보도록 하겠습니다.
위처럼 BOARD_NEW라는 테이블의 title 컬럼의 결과목록을 가로로 출력 해보도록 하겠습니다.
※ GROUP_CONCAT 함수의 SEPARATOR '구분자' 부분을 정의를 안하시면 DEFAULT 콤마(,)로 구분이 되어서
출력이 되어집니다. SEPARATOR 지정여부로 결과를 출력해보도록 하겠습니다.
SEPARATOR 지정하기 않을경우 쿼리
SELECT GROUP_CONCAT(title) FROM board_new
실행결과
SEPARATOR 지정하여 구분자 변경한 쿼리
SELECT GROUP_CONCAT(title SEPARATOR '|') FROM board_new
실행결과
GROUP_CONCAT함수를 사용해서 위와같이 세로 결과를 하나의 컬럼에 가로로 구분자를 주어서 출력을 해보았습니다 ^^
by 개발로짜