이 글의 예시에서는 mysql group_concat() 함수의 사용법을 설명합니다. 참고용으로 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
group_concat(), 매뉴얼에 다음과 같이 나와 있습니다. 이 함수는 NULL 값이 아닌 을 반환합니다. 그룹의 연결 >문자열결과. 상대적으로 추상적이고 이해하기 어렵습니다.
간단하게 이해하면 실제로는 다음과 같습니다. group_concat()은 어떤 행이 동일한 그룹에 속하는지 계산하고 동일한 그룹에 속하는 열을 표시합니다. 반환할 열은 함수 매개변수 (필드 이름)에 의해 결정됩니다. 그룹은 group by에서 지정한 컬럼에 따라 그룹화하는 기준이 있어야 합니다.
group_concat 함수는 내부적으로 group by 문을 실행해야 할 것 같습니다.
1. 테스트 문:
SELECT group_concat(town) FROM `players` group by town
결과는 마을의 어떤 값이 동일한지 찾는 것입니다. 쉼표로 나누어 나열합니다.
group_concat(town)
Beijing, Beijing
Changsha
테스트:
SELECT group_concat( town ) FROM players
결과:
group_concat(town)
Changsha, Beijing, Beijing,
위의 내용은 group_concat이 오직 group by 문과 함께 사용하면 실제 테스트가 가능할까요?
3. group_concat( ):
SET @@GROUP_CONCAT_MAX_LEN=4
SET [SESSION | GLOBAL] group_concat_max_len = val;
SET @@global.GROUP_CONCAT_MAX_LEN=4;
4
SELECT group_concat(town) FROM `players`
group_concat(town)
Changsha,Beijing,Changsha,Beijing
결론: group_concat() 함수는 group by 문과 함께 사용해야 합니다. 필요한 효과를 얻으십시오.
이유는 다음과 같이 이해할 수 있습니다. group_concat()은 그룹 x에 속하는 모든 구성원을 가져옵니다(함수의 열 매개변수는 표시해야 하는 필드를 지정합니다). 그룹 x는 어디에서 왔습니까? 지정된 그룹이 없으면 group_concat()이 어떤 그룹에 따라 멤버를 표시할지 알 수 없습니다. 따라서 위와 같이 group by 절이 없으면 Changsha와 Beijing이 표시됩니다.
이 기능은 실제로 언제 필요한가요?
쿼리 결과는 왼쪽에 그룹명이 표시되고, 오른쪽에 그룹의 모든 멤버 정보가 표시된다고 가정해 보겠습니다. 이 기능을 사용하면 많은 것을 저장할 수 있습니다.
또한 다음과 같이 사용하면: SELECT group_concat( name, sex ) FROM `players` town. 별로 의미가 없습니다. 열을 지정하는 group_concat()이 가장 좋은 경우입니다. 여러 열이 지정된 경우. 그러면 표시 결과는 다음과 유사합니다.
group_concat(name,sex)
위 내용은 mysql에서 group_concat() 함수를 사용하는 방법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!