IT 소스/MariaDB

[MariaDB] GROUP_CONCAT - 그룹 합침 함수

한량이야기 2024. 3. 8. 14:27
반응형

안녕하세요. 경제적, 시간적 자유를 꿈꾸는 한량입니다.

GROUP_CONCAT - 그룹 합침 함수

MariaDB의 그룹 합침 함수 - GROUP_CONCAT()

GROUP_CONCAT() 함수는 그룹화된 행의 값을 결합하여 문자열로 반환합니다. 

이 함수는 주로 그룹화된 데이터를 요약하여 하나의 문자열로 표시하는 데 사용됩니다.

 

예문 테이블을 가지고 그룹 함침 함수가 어떻게 동작하는지 알아보겠습니다.

-- 테이블 생성 쿼리
CREATE TABLE orders (
    order_id INT AUTO_INCREMENT PRIMARY KEY,
    customer_id INT,
    customer_name VARCHAR(50),
    product_name VARCHAR(50)
);

-- 기본 데이터 삽입 쿼리
INSERT INTO orders 
    (customer_id, customer_name, product_name) 
VALUES 
    (1, '이영희', '스마트폰'), 
    (1, '이영희', '노트북'),
    (2, '정수진', '테블릿'),
    (3, '최미나', '스마트워치'),
    (3, '최미나', '이어폰'),
    (3, '최미나', '헤드폰'),
    (4, '박민수', '스마트폰'),
    (4, '박민수', '이어폰'),
    (5, '김지은', '노트북'),
    (5, '김지은', '헤드폰');

 

아래의 SQL 쿼리는 각 고객의 주문 목록을 가져옵니다.

-- GROUP_CONCAT() 함수를 사용하여 각 고객의 주문 목록을 가져오는 쿼리
SELECT customer_id, customer_name, GROUP_CONCAT(product_name SEPARATOR ', ') AS order_list
FROM orders
GROUP BY customer_id, customer_name;

 

위의 예시에서는 주문 테이블에서 각 고객의 주문 목록을 가져오기 위해

GROUP_CONCAT() 함수를 사용했습니다.

GROUP BY절로 고객별로 그룹화하고,

GROUP_CONCAT() 함수로 각 그룹의 주문 목록을 결합하였습니다.


쿼리를 실행하면 아래와 같은 값을 얻을 수 있습니다.

그룹 합침 함수 쿼리 실행 결과 값

이를 통해 각 고객의 주문 목록이 하나의 문자열로 반환되며, 

이를 통해 각 고객이 어떤 제품을 주문했는지를 한눈에 파악할 수 있습니다.

반응형