[MySQL] GROUP_CONCAT
2022. 1. 24. 20:57ㆍ개인 공부 공간/SQL
MySQL에서 GROUP BY를 사용하되 집계하지 않고 요소들을 리스트화 하는 방식에 대해 정리하려고 한다.
문법 자체는 매우 단순해서 아래 예시를 통해 설명하려고 한다.
예시 데이터는 따릉이 토이 프로젝트때 사용한 테이블 중 서울 공원들의 위치 정보를 담고 있는 park_location_table 테이블을 사용하였다.
위 테이블에서 행정구(city_gu) 별로 공원들을 리스트화 해서 집계하려고 한다.
SELECT city_gu,
GROUP_CONCAT(parkname) AS 'park_list'
FROM park_location_table
GROUP BY city_gu;
이와 같이 실행하면 아래와 같은 결과가 나온다.
항목들 사이의 구분 기준은 아래와 같이 구체적으로 설정 가능하다.
SELECT city_gu,
GROUP_CONCAT(parkname SEPARATOR ' | ') AS 'park_list'
FROM park_location_table
GROUP BY city_gu;
정리하고 보니 파이썬의 groupby()
+ agg(list)
와 거의 동일한 기능을 제공하는 문법이랑 거의 유사한 것 같다.
References
'개인 공부 공간 > SQL' 카테고리의 다른 글
[MySQL] Retention & Cohort Analysis (0) | 2022.02.16 |
---|---|
[MySQL] WITH AS (0) | 2022.01.10 |
[MySQL] != 처럼 JOIN 하기 (0) | 2021.12.29 |
[MySQL] 6자리 생년월일을 나이로 변환하기 (0) | 2021.12.13 |
[MySQL] type 변환 함수(CAST & CONVERT)와 type의 종류 (0) | 2021.12.12 |