DB/MySQL

MySQL GROUP CONCAT 이용하여 쿼리목록을 컬럼 하나로 보여주기 (세로를 가로로)

개발로짜 2014. 7. 9. 09:48

MySQL 세로로 뽑힌 데이터를 가로로 뽑을 수 있는 함수가 제공된다.


MySQL 5.0.19? 버전이상에 지원이 되는듯 함.


SELECT *
  FROM (SELECT 'TEST1' test
	 UNION
        SELECT 'TEST2' test
	 UNION
	SELECT 'TEST3' test
	 UNION
	SELECT 'TEST4' test) TESTINFO

위와같이 가상의 목록 데이터가 존재한다고 하자


그럼 다음처럼 데이터가 출력될것이다.





이 세로형 데이터를 하나의 컬럼에 세미콜론(,)으로 구분을 주어 가로형 데이터로 출력을 해보도록 하겠다.


사용 function은 


GROUP_CONCAT(컬럼명 SEPARATOR ',') 


상단에 가로로 묶어줄 컬럼명은 test이므로 


SELECT GROUP_CONCAT(test SEPARATOR ',') testGrp
  FROM (SELECT 'TEST1' test
	       UNION
             SELECT 'TEST2' test
	       UNION
	     SELECT 'TEST3' test
	       UNION
	     SELECT 'TEST4' test) TESTINFO

이런식으로 GROUP_CONCAT() 함수를 사용해주게 된다면 





다음과 같이 컬럼하나에 리스트 목록데이터들이 구분자로하여금 모두 들어가있는것을 확인 할 수 있을것이다.


GROUP_CONCAT 괜추한듯함.






슈퍼맨슈퍼맨슈퍼맨



도움이 되셨다면 공감클릭! 궁금하신점은 댓글!!