groupConcat

groupConcat

문자열 그룹을 합쳐 하나의 문자열로 만드는 집계 함수예요. 선택적으로 구분자(delimiter)로 값을 나누고, 최대 요소 수(limit)로 결과를 제한할 수도 있어요. v24.8.0부터 도입되었어요.

출처: 문서

본문

문자열 그룹에서 합쳐진 문자열을 계산해요. 선택적으로 구분자로 값을 구분하고, 선택적으로 최대 요소 수로 제한할 수 있어요.

구분자를 limit 없이 지정하면 반드시 첫 번째 파라미터여야 해요. 구분자와 limit를 둘 다 지정하면 구분자가 limit보다 앞에 와야 해요. 또한 파라미터와 인자에 서로 다른 구분자가 지정된 경우에는 인자의 구분자만 사용돼요.

구문 (Syntax)

groupConcat[(delimiter [, limit])](expression)

별칭(Aliases): group_concat, string_agg

파라미터 (Parameters)

  • delimiter — 합쳐진 값을 구분하는 데 사용할 문자열이에요. 선택 파라미터이며, 지정하지 않으면 빈 문자열을 기본값으로 사용해요. String
  • limit — 합칠 최대 요소 수를 지정하는 양의 정수예요. 더 많은 요소가 있으면 초과분은 무시돼요. 선택 파라미터예요. UInt*

인자 (Arguments)

  • expression — 합칠 문자열을 출력하는 표현식 또는 컬럼 이름이에요. String
  • delimiter — 합쳐진 값을 구분하는 데 사용할 문자열이에요. 선택 파라미터이며, 지정하지 않으면 빈 문자열 또는 파라미터의 구분자를 기본값으로 사용해요. String

반환 값 (Returned value)

컬럼 또는 표현식의 값을 합친 문자열을 반환해요. 그룹에 요소가 없거나 null 요소만 있고, 함수가 null 값만 있는 경우에 대한 처리를 지정하지 않는다면, null 값을 가진 nullable 문자열을 반환해요. String

예시 (Examples)

구분자 없이 기본 사용:

CREATE TABLE Employees (Name String) ENGINE = Memory;
INSERT INTO Employees VALUES ('John'), ('Jane'), ('Bob');

SELECT groupConcat(Name) FROM Employees;

결과:

JohnJaneBob

쉼표를 구분자로 사용 (파라미터 문법):

SELECT groupConcat(', ')(Name) FROM Employees;

결과:

John, Jane, Bob

쉼표를 구분자로 사용 (인자 문법):

SELECT groupConcat(Name, ', ') FROM Employees;

결과:

John, Jane, Bob

합칠 요소 수 제한:

SELECT groupConcat(', ', 2)(Name) FROM Employees;

결과:

John, Jane

더 알아보기 (Learn more)