일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
Tags
- 웹소켓연결
- git
- aws
- java
- 자바
- javascript
- 노드버전
- aiapi
- gitlab
- openaiapi
- 클래스
- Database
- 패키지설치에러
- chatGPTAPI
- GPT3.5
- 클라우드
- 웹소켓연결끊김
- ChatGPT
- class
- nvmrc
- gpt3.5turbo
- 호스팅영역
- 버킷생성
- iam사용자
- gptapi
- Express
- db
- 웹소켓재시작
- Github
- nodejs
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