다른 분이 만들어분 SQL에 GROUP_CONCAT()함수가 나와 인터넷에 찾아보니 이는 테이블 피벗을 위한 함수임을 알았습니다.
여기서 피벗이란 '테이블 데이터를 행에서 열로 바꾸는 과정'입니다.
즉, 보통의 테이블은 세로로 데이터가 나오지만 특정한 데이터를 가로로 묶어 보여주기 위한 함수입니다.
idx | group | name |
1 | 1 | white |
2 | 1 | black |
3 | 2 | green |
4 | 2 | orange |
이처럼 데이터가 있으면 이를 group으로 묶어서 보여주고 싶을 경우 아래 SQL처럼 사용하면 됩니다.
SELECT group, GROUP_CONCAT(name) FROM test GROUP BY group
이 결과 아래 테이블이 나옵니다.
group | name |
1 | white, black |
2 | green, orange |
GROUP_CONCAT() 함수의 기본 구분자는 , 입니다.
구분자, order by, 중복제거 등 인수가 있으니 참조하세요.
'DB > mysql(mariaDB)' 카테고리의 다른 글
MySQL 1419 error - "You do not have the SUPER privilege and binary logging is enabled" (0) | 2023.01.18 |
---|---|
Mysql Trigger(트리거) (0) | 2022.06.28 |
stored procedure(저장 프로시저) 만들기 (0) | 2022.06.19 |
mysql stored procedure(저장 프로시저) 란? (0) | 2022.06.06 |
두 날짜의 차이값 계산 함수(TIMESTAMPDIFF) (0) | 2022.05.25 |