MySQL의 Aggregate 함수 - 목록(Oracle의 LISTAGG와 같이)
문자열 목록을 반환하는 함수가 필요합니다.
다음과 같은 데이터가 테이블에 있습니다.
Id MyString
------------------------
1 First
2 Second
3 Third
4 Fourth
다음과 같은 기능이 필요합니다(오라클에서도 이와 같은 기능이 가능합니다).
select LISTAGG(MyString, ', ') as myList where id < 4
이는 다음과 같은 것을 반환합니다.
myList
------------------------
First, Second, Third
무슨 생각 있어요?
GROUP_CONCAT()를 찾고 있습니다.
시도해 보기:
select group_concat(MyString separator ', ') as myList from table
where id < 4
물론 할 수 있죠.group by
결과물
MySQL 5.7.22부터는 JSON_ARYAGG 또는 JSON_OBJECTAGG의 두 가지 JSON 집성 기능을 사용할 수도 있습니다.이를 MySQL의 JSON 함수와 함께 결합하여 JSON으로 집계된 결과를 얻을 수 있습니다.와는 달리GROUP_CONCAT
, 반환된 값의 크기를 제한하는 MySQL 구성 매개 변수가 없습니다.max_allowed_packet
(이는 모든 쿼리에 영향을 미칩니다.)
언급URL : https://stackoverflow.com/questions/9456380/aggregate-function-in-mysql-list-like-listagg-in-oracle
'programing' 카테고리의 다른 글
C#의 @"string"과 같은 파워셸의 문자열을 탈출할 방법이 있습니까? (0) | 2023.09.26 |
---|---|
엔티티 프레임워크에서 서명되지 않은 int/long 유형을 사용하는 방법은 무엇입니까? (0) | 2023.09.21 |
Angular의 장점은 무엇입니까?JS Strict DI mode? (0) | 2023.09.21 |
MariaDB Master-Master 설정에 대한 일반적인 생각(업그레이드 절차도 포함) (0) | 2023.09.21 |
jquery(또는 pure js) 시뮬레이션 엔터키를 테스트용으로 누릅니다. (0) | 2023.09.21 |