>  기사  >  데이터 베이스  >  MySQL: concat 및 group_concat 사용에 대한 간략한 소개

MySQL: concat 및 group_concat 사용에 대한 간략한 소개

php是最好的语言
php是最好的语言원래의
2018-07-26 16:57:212793검색

concat() 함수의 기능: 여러 문자열을 하나의 문자열로 연결합니다. 구문: concat(str1, str2,...)는 연결 매개변수에 의해 생성된 문자열을 반환합니다. 매개변수가 null인 경우 반환 값은 null입니다.

group_concat은 그룹화 후 여러 행 값을 하나의 행으로 바꿉니다. 각 행의 원래 값은 쉼표로 구분됩니다.

참고:

이 문서에 사용된 예제는 모두 다음 데이터베이스 테이블 tt2에서 실행됩니다.

MySQL: concat 및 group_concat 사용에 대한 간략한 소개

1.concat() 함수

1. 함수: 여러 문자열을 하나의 문자열로 연결합니다.

2. 구문: concat(str1, str2,...)

반환 결과는 연결 매개 변수에 의해 생성된 문자열입니다. 매개 변수가 null인 경우 반환 값은 null입니다.

3. 예:

예 1: tt2의 정보로 concat(id, 이름, 점수)를 선택합니다.

MySQL: concat 및 group_concat 사용에 대한 간략한 소개

tt2에 있는 행의 점수 값 때문에 중간에 null인 행이 있습니다. 테이블이 null입니다.

예 2: 예 1의 결과에서 ID, 이름, 점수 세 필드의 조합에는 구분 기호로 쉼표를 추가할 수 있습니다.

MySQL: concat 및 group_concat 사용에 대한 간략한 소개

이것이 훨씬 더 편리한 것 같습니다. 눈~~

그런데 sql 문을 입력하는 게 번거롭네요. 3개 필드에 쉼표를 2번 입력해야 하는데, 10개 필드에 쉼표를 9번 입력해야 하는데... 너무 번거로운 방법이 없을까요? ? ——그러면 매개변수 사이의 구분자를 지정할 수 있는 concat_ws()가 나왔습니다! ! !

2.concat_ws() 함수

1. 함수: concat()과 마찬가지로 여러 문자열을 하나의 문자열로 연결하지만 구분 기호를 한 번에 지정할 수 있습니다~ (concat_ws는 구분 기호와 연결됩니다)

2. 구문: concat_ws(separator, str1, str2, ...)

설명: 첫 번째 매개변수는 구분 기호를 지정합니다. 구분 기호는 null일 수 없습니다. null인 경우 반환 결과는 null이 됩니다.

3. 예:

예 3: concat_ws()를 사용하여 구분 기호를 쉼표로 지정하여 예 2와 동일한 효과를 얻습니다.

MySQL: concat 및 group_concat 사용에 대한 간략한 소개

예 4: 구분 기호를 null로 지정하면 모든 결과가 나타납니다. be Null:

MySQL: concat 및 group_concat 사용에 대한 간략한 소개

3. group_concat() 함수

머리말: group by가 포함된 쿼리 문에서 select로 지정된 필드는 그룹화 기준으로 group by 문 뒤에 포함되거나 in에 포함됩니다. 집계 함수. (그룹화에 대한 자세한 내용을 보려면 SQL에서 그룹화 사용에 대한 간략한 분석을 클릭하세요.)

예제 5:

MySQL: concat 및 group_concat 사용에 대한 간략한 소개

이 예는 같은 이름을 가진 사람들 중 가장 작은 ID를 쿼리합니다. 같은 이름을 가진 사람들의 모든 ID를 쿼리하고 싶다면 어떻게 해야 할까요?

물론 다음과 같이 쿼리할 수 있습니다.

예 6:

MySQL: concat 및 group_concat 사용에 대한 간략한 소개

그러나 동일한 이름이 여러 번 나타나면 매우 직관적이지 않은 것 같습니다. 각 이름을 한 번만 표시하고 동일한 이름을 가진 모든 사람의 ID도 표시할 수 있는 보다 직관적인 방법이 있습니까? ——group_concat()을 사용하세요

1. 함수: group by로 생성된 동일한 그룹의 값을 연결하고 문자열 결과를 반환합니다.

2. 구문: group_concat( [distinct] 연결할 필드 [필드 asc/desc 정렬순서] [구분자 '구분자'] )

참고: 원하는 경우 구별을 사용하여 중복된 값을 제외할 수 있습니다. 값을 정렬하려면 order by 절을 사용할 수 있습니다. 구분 기호는 문자열 값이며 기본값은 쉼표입니다.

3. 예:

예 7: 같은 이름을 가진 사람의 ID 번호를 표시하려면 group_concat() 및 group by를 사용합니다.

MySQL: concat 및 group_concat 사용에 대한 간략한 소개

예 8: 위의 ID 번호를 큰 것부터 작은 것까지 정렬하고 다음을 사용합니다. '_' 구분 기호:

MySQL: concat 및 group_concat 사용에 대한 간략한 소개

예 9: 위 쿼리는 이름별로 그룹화된 각 그룹의 모든 ID를 표시합니다. 다음으로 이름별로 그룹화된 모든 그룹의 ID와 점수를 쿼리해야 합니다.

1MySQL: concat 및 group_concat 사용에 대한 간략한 소개

관련 기사:

concat과 concat_ws() 및 group_concat(), Repeat() 문자열 함수의 차이점

mysql GROUP_CONCAT

과 결합된 GROUP BY 사용

관련 영상:

Apache 설치 소개와 MySQL 설치 및 사용 소개

위 내용은 MySQL: concat 및 group_concat 사용에 대한 간략한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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