| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 클라우드
- 웹소켓연결끊김
- aws
- GPT3.5
- git
- 클래스
- javascript
- chatGPTAPI
- nodejs
- Database
- db
- 패키지설치에러
- ChatGPT
- gptapi
- class
- 자바
- nvmrc
- gpt3.5turbo
- java
- openaiapi
- 웹소켓연결
- gitlab
- 노드버전
- 버킷생성
- aiapi
- 호스팅영역
- iam사용자
- Github
- 웹소켓재시작
- Express
Archives
- Today
- Total
IT's Jenna
Mysql - group_concat 본문
이전 포스팅에서 GROUP BY 절을 어떻게 활용하는지에 대해 설명했었다. 이번 포스팅에선 GROUP BY와 함께 사용하기 좋은 group_concat에 대해 설명해보겠다.
데이터 처리를 할 때 특정 데이터들을 한 줄로 처리해서 확인해야 하는 순간이 있다. 이때 적용할 수 있는 구문이 바로 group_concat이다. 바로 예시를 들어보자.
아래는 채팅 기능을 구현하기위해 만들어둔 채팅방 별 유저를 정리해둔 chat_room_user 테이블이다.

SELECT chat_room_idx, group_concat(user_idx)
FROM umclass.chat_room_user
GROUP BY chat_room_idx;
위 쿼리문을 돌리면 다음과 같이 결과가 나타난다.

group_concat을 사용하면 GROUP BY를 통해 그룹화할 때 데이터들을 이어 붙여서 하나의 열로 만들 수 있다. group_concat에 default로 들어가 있는 구분자는 쉼표이며 separator를 이용해서 구분자를 사용자 정의할 수도 있다.
SELECT chat_room_idx, group_concat(user_idx separator ' | ')
FROM umclass.chat_room_user
GROUP BY chat_room_idx;

혹 다음과 같이 중복되는 내용이 있는 경우에는 distinct를 활용해서 중복값 없이 데이터를 정리할 수도 있다.

SELECT chat_room_idx, group_concat(distinct user_idx)
FROM umclass.chat_room_user
GROUP BY chat_room_idx;

<참고>
'Mysql' 카테고리의 다른 글
| Mysql 이벤트 스케쥴러 (Event Scheduler) (0) | 2021.06.23 |
|---|---|
| Mysql - LIMIT (0) | 2021.05.12 |
| Mysql - ORDER BY & ALIAS (0) | 2021.04.26 |
| Mysql - GROUP BY & CASE (0) | 2021.01.21 |
| Mysql 기본 (0) | 2021.01.21 |
Comments