> 데이터 베이스 > MySQL 튜토리얼 > MySQL에서 GROUP_CONCAT 및 CONCAT을 사용하여 여러 행을 단일 문자열로 연결하는 방법은 무엇입니까?

MySQL에서 GROUP_CONCAT 및 CONCAT을 사용하여 여러 행을 단일 문자열로 연결하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-12-13 01:00:10
원래의
445명이 탐색했습니다.

How to Concatenate Multiple Rows into a Single String Using GROUP_CONCAT and CONCAT in MySQL?

MySQL의 CONCAT 내에서 GROUP_CONCAT 사용

여러 행을 공통 값으로 그룹화하면서 여러 행을 단일 문자열로 연결하려면 GROUP_CONCAT 함수. 실제 예를 들어 응용 프로그램을 살펴보겠습니다.

질문:

다음과 같은 데이터가 포함된 mytbl이라는 테이블이 주어졌습니다.

id Name Value
1 A 4
1 A 5
1 B 8
2 C 9

어떻게 할 수 있습니까? 이 데이터를 다음과 같이 변환합니다. 형식:

id Column
1 A:4,5,B:8
2 C:9

답변:

이를 달성하려면 중첩된 GROUP_CONCAT 및 CONCAT의 조합을 사용할 수 있습니다. 함수:

select id, group_concat(`Name` separator ',') as `ColumnName`
from
(
  select id, 
  concat(`Name`, ':', group_concat(`Value` separator ',')) as Name
   from mytbl group by id, Name
) tbl
group by id;
로그인 후 복사

설명:

  • 가장 안쪽 쿼리는 데이터를 ID와 이름으로 그룹화한 다음 값 열을 쉼표로 연결합니다. 각 그룹에 대한 구분 기호입니다.
  • 외부 쿼리는 결과를 ID별로 그룹화하고 이전 쿼리를 연결합니다. 이제 각 ID 내의 각 이름에 대한 값을 포함하는 연결된 이름 문자열.

이 중첩된 GROUP_CONCAT 및 CONCAT 조합을 사용하면 원하는 출력을 생성할 수 있으며, 여기서 각 ID는 쉼표로 구분된 문자열과 연결됩니다. 이름과 해당 값.

위 내용은 MySQL에서 GROUP_CONCAT 및 CONCAT을 사용하여 여러 행을 단일 문자열로 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿