1 기능: 여러 문자열을 문자열로 연결합니다. .
2. 구문: concat(str1, str2,...)
반환 결과는 연결 매개 변수에 의해 생성된 문자열입니다. 매개 변수가 null인 경우 반환 값은 null입니다.
3. 예:
예 1: tt2의 정보로 concat(id, 이름, 점수)를 선택합니다.
행의 점수 값이 null이므로 중간에 행이 있습니다. tt2 테이블이 null입니다.
예 2: 예 1의 결과에서 ID, 이름, 점수 세 필드의 조합에는 구분 기호로 쉼표를 추가할 수 있습니다.
이것이 훨씬 더 즐거운 것 같습니다. 눈에 들어오네요~~
근데 SQL문 입력이 많이 번거롭네요. 3개 필드에 콤마를 2번 입력해야 하는데 10개면 쉼표를 9번 입력해야 하는데... 참 번거롭죠? 방법? ——그러면 매개변수 사이의 구분자를 지정할 수 있는 concat_ws()가 나왔습니다! ! !
1. 함수: concat()과 마찬가지로 여러 문자열을 하나의 문자열로 연결하지만 구분 기호를 한 번에 지정할 수 있습니다~ (concat_ws는 구분 기호와 연결됩니다)
2. 구문: concat_ws(separator, str1, str2, ...)
설명: 첫 번째 매개변수는 구분 기호를 지정합니다. 구분 기호는 null일 수 없습니다. null인 경우 반환 결과는 null이 됩니다.
3. 예:
예 3: concat_ws()를 사용하여 구분 기호를 쉼표로 지정하여 예 2와 동일한 효과를 얻습니다.
예 4: 구분 기호를 null로 지정하고 모든 결과가 null로 변경됨:
머리말: group by가 있는 쿼리 문에서 select로 지정된 필드는 group by 문 뒤에 포함되거나 그룹 기초는 집계 함수에 포함됩니다. (그룹화에 대한 자세한 내용을 보려면 SQL에서 그룹화 사용에 대한 간략한 분석을 클릭하세요.)
예제 5:
이 예는 같은 이름을 가진 사람들 중 가장 작은 ID를 쿼리합니다. 같은 이름을 가진 사람들의 모든 ID를 쿼리하고 싶다면 어떻게 해야 할까요?
물론 다음과 같이 쿼리할 수 있습니다.
예 6:
그러나 동일한 이름이 여러 번 나타나면 매우 직관적이지 않은 것 같습니다. 각 이름을 한 번만 표시하고 동일한 이름을 가진 모든 사람의 ID도 표시할 수 있는 보다 직관적인 방법이 있습니까? ——group_concat()을 사용하세요
1. 함수: group by로 생성된 동일한 그룹의 값을 연결하고 문자열 결과를 반환합니다.
2. 구문: group_concat( [distinct] 연결할 필드 [필드 asc/desc 정렬순서] [구분자 '구분자'] )
참고: 원하는 경우 구별을 사용하여 중복된 값을 제외할 수 있습니다. 값을 정렬하려면 order by 절을 사용할 수 있습니다. 구분 기호는 문자열 값이며 기본값은 쉼표입니다.
3. 예:
예 7: 같은 이름을 가진 사람들의 ID 번호를 표시하려면 group_concat() 및 그룹화를 사용합니다.
예 8: 위의 ID 번호를 큰 것부터 작은 것까지 정렬합니다. '_'를 구분 기호로 사용합니다.
예 9: 위 쿼리는 이름별로 그룹화된 각 그룹의 모든 ID를 표시합니다. 다음으로 이름별로 그룹화된 모든 그룹의 ID와 점수를 쿼리해야 합니다.
이 기사에서는 MySQL에서 concat 및 group_concat의 사용을 간략하게 분석합니다. 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트에 주목하세요.
관련 권장 사항:
MySQL 저장 프로시저의 기본 기능에 대한 관련 설명
위 내용은 MySQL에서 concat 및 group_concat 사용에 대한 간략한 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!