집 >데이터 베이스 >MySQL 튜토리얼 >MySQL에서 GROUP_CONCAT 및 CONCAT을 사용하여 여러 행을 단일 문자열로 연결하는 방법은 무엇입니까?
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;
설명:
이 중첩된 GROUP_CONCAT 및 CONCAT 조합을 사용하면 원하는 출력을 생성할 수 있으며, 여기서 각 ID는 쉼표로 구분된 문자열과 연결됩니다. 이름과 해당 값.
위 내용은 MySQL에서 GROUP_CONCAT 및 CONCAT을 사용하여 여러 행을 단일 문자열로 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!