집 >데이터 베이스 >MySQL 튜토리얼 >MySQL에서 문자열을 목록으로 집계하는 방법(Oracle의 LISTAGG와 유사)?
MySQL의 집계 함수: 값을 목록으로 집계(SQL의 LISTAGG와 유사) Oracle)
질의:
I need function, that returns list of strings. I have data in table like this: Id MyString ------------------------ 1 First 2 Second 3 Third 4 Fourth I need function like this (something like this works in oracle): select LISTAGG(MyString, ', ') as myList where id < 4 That returns something like this: myList ------------------------ First, Second, Third
정답:
MySQL은 GROUP_CONCAT() 함수를 제공합니다. 이 목적. 값을 쉼표로 구분된 목록으로 집계합니다.
GROUP_CONCAT()을 사용한 쿼리:
select group_concat(MyString separator ', ') as myList from table where id < 4
이 쿼리는 쉼표로 구분된 문자열 목록을 반환합니다. ID가 4보다 작은 모든 행에 대해 'myList' 열에는 집계된 항목이 포함됩니다. 결과.
참고: 필요한 경우 GROUP_CONCAT() 함수를 사용하면 여러 열로 그룹화할 수 있습니다. 예:
select group_concat(MyString separator ', ') as myList from table where id < 4 group by another_column
이 쿼리는 another_column 열을 기준으로 결과를 그룹화하고 각 그룹에 대한 문자열 목록을 생성합니다.
위 내용은 MySQL에서 문자열을 목록으로 집계하는 방법(Oracle의 LISTAGG와 유사)?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!