반응형
MySQL에서 GROUP_CONCAT을 이용해
여러 행의 데이터를 한 행에 합쳐서 보여줄 수 있는데
예제를 보면 테이블의 NAME 컬럼 안에는
'수철' 과 '철수' 가 들어있는 것이 보이는데
GROUP_CONCAT(컬럼명) 을 사용해주면
해당 테이블 컬럼 데이터를 한 열에 모아주는 것이 보인다
다음은 여러 행을 합칠 경우
붙는 구분자인 쉼표(, comma)인데
기본값이 , 이기 때문에 공백이나 다른 값으로 주고 싶다면
GROUP_CONCAT(컬럼명 SEPARATOR '값');
을 통해 원하는 값으로 설정이 가능하다
마지막으로는 GROUP_CONCAT 시
ORDER BY 를 사용하는 경우인데
GROUP_CONCAT(컬럼명 ORDER BY 값 ASC/DESC);
이렇게 사용하면
오름차순/내림차순 기준으로 합쳐줄 수 있다
예제에 사용한 쿼리는 다음과 같다
SELECT GROUP_CONCAT(NAME) AS GRP_CC
,GROUP_CONCAT(NAME SEPARATOR ' ') AS GRP_CC2
,GROUP_CONCAT(AGE ORDER BY AGE DESC SEPARATOR '-') AS GRP_CC3
FROM TB1
반응형
'SQL > MySQL' 카테고리의 다른 글
MySQL 컬럼명 Alias 띄어쓰기 괄호 사용 안될경우 해결방법 (0) | 2021.05.17 |
---|---|
MySQL 테이블 사이즈 확인용 쿼리 (0) | 2021.05.17 |
MySQL Replace 사용방법 정리(여러개 변경할 경우 포함) (0) | 2021.05.14 |
MySQL Count(1) Count(*) Count(컬럼) 차이 정리 (0) | 2021.05.11 |
MySQL JSON 조회 및 데이터 꺼내오는 방법 (0) | 2021.04.29 |
댓글