>  기사  >  데이터 베이스  >  MySQL에서 GROUP_CONCAT을 사용하여 여러 행을 쉼표로 구분된 값을 사용하여 단일 행으로 결합하려면 어떻게 해야 합니까?

MySQL에서 GROUP_CONCAT을 사용하여 여러 행을 쉼표로 구분된 값을 사용하여 단일 행으로 결합하려면 어떻게 해야 합니까?

DDD
DDD원래의
2024-11-16 05:22:02282검색

How can I use GROUP_CONCAT to combine multiple rows into a single row with comma-separated values in MySQL?

MySQL에서 쉼표로 구분된 값으로 행 추출: GROUP_CONCAT 함수 탐색

MySQL에서 여러 행을 쉼표로 구분된 값이 있는 단일 행으로 변환하는 문제가 자주 발생합니다. 여러 테이블의 관련 데이터를 처리할 때. 이 작업은 강력한 GROUP_CONCAT 기능을 활용하여 우아하게 수행할 수 있습니다.

이 목표를 달성하려면 제공된 예를 고려하십시오. DISH와 DISH_HAS_DISHES라는 두 테이블은 요리와 식사 간의 일대다 관계를 나타냅니다. 요구 사항은 각 식사의 요리 ID와 이름을 쉼표로 구분된 값으로 대조하는 형식을 만드는 것입니다.

해결책은 GROUP_CONCAT 함수에 있습니다. 이 함수는 각 행 그룹에 대한 표현식 값을 효과적으로 연결하여 단일 문자열을 생성합니다. 이 경우 표현식은 접시 ID와 접시 이름 속성의 조합입니다.

데이터를 변환하기 위해 DISH_HAS_DISHES 및 DISH 테이블을 조인하는 쿼리를 구성할 수 있습니다.

SELECT
  m.meal_Id,
  GROUP_CONCAT(dish_id) AS dish_ids,
  GROUP_CONCAT(dish_name) AS dish_names
FROM
  DISH_HAS_DISHES AS m
JOIN
  DISH AS d
ON
  (m.dish_id = d.dish_id)
GROUP BY
  m.meal_Id;

JOIN 문 두 테이블을 연결하고 GROUP BY는 식사 ID 열을 기준으로 행을 그룹화합니다. 각 식사에 대해 GROUP_CONCAT 함수는 접시 ID 및 접시_이름 값을 각각 쉼표로 구분된 접시_ID 및 접시_이름 열로 집계합니다.

결과적으로 쿼리는 원하는 형식, 즉 각 식사에 대한 단일 행을 생성합니다. 쉼표로 구분된 요리 ID 및 이름입니다. GROUP_CONCAT 함수를 활용하면 MySQL에서 여러 행을 쉼표로 구분된 값을 사용하여 단일 행으로 추출하는 문제를 효율적으로 해결할 수 있습니다. 또한 이 접근 방식은 다양한 데이터베이스 시나리오에 적용되어 데이터 검색 및 조작 기능을 향상시킬 수 있습니다.

위 내용은 MySQL에서 GROUP_CONCAT을 사용하여 여러 행을 쉼표로 구분된 값을 사용하여 단일 행으로 결합하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.