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 중국어 웹사이트의 기타 관련 기사를 참조하세요!