[SQL] MySQL의에서 GROUP_CONCAT 유사한 오라클의 모든 기능이 있습니까? [복제]
SQLMySQL의에서 GROUP_CONCAT 유사한 오라클의 모든 기능이 있습니까? [복제]
내 입력은이 방법에 있습니다.
col1 col2
1 a
1 b
2 c
2 d
2 e
O / P는 : 같은 수 있어야
col1 col2
1 a,b
2 c,d,e
나는 DB 수준에서 발사 할 수있는 쿼리를 원한다. 나는 여러 가지 방법을 시도하지만,이를 만들 수 없습니다했습니다 ...
해결법
-
==============================
1.11g 이상 : 사용 listagg :
11g 이상 : 사용 listagg :
SELECT col1, LISTAGG(col2, ', ') WITHIN GROUP (ORDER BY col2) "names" FROM table_x GROUP BY col1
10g 및 하부 : 한가지 방법은 함수를 사용하는 것이다 :
CREATE OR REPLACE FUNCTION get_comma_separated_value (input_val in number) RETURN VARCHAR2 IS return_text VARCHAR2(10000) := NULL; BEGIN FOR x IN (SELECT col2 FROM table_name WHERE col1 = input_val) LOOP return_text := return_text || ',' || x.col2 ; END LOOP; RETURN LTRIM(return_text, ','); END; /
기능을 사용하려면 :
select col1, get_comma_separated_value(col1) from table_name
참고 :이 당신을 도울 수있는 오라클의 특정 이전 버전에 사용할 수있는 (지원되지 않는) 기능 WM_CONCAT입니다 - 자세한 내용은 여기를 참조하십시오.
MySQL은 :
SELECT col1, GROUP_CONCAT(col2) FROM table_name GROUP BY col1
from https://stackoverflow.com/questions/16771086/is-there-any-function-in-oracle-similar-to-group-concat-in-mysql by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 SQL Server 메모리 깨끗 SqlDependency합니까? (0) | 2020.03.17 |
---|---|
[SQL] 가변 크기 변수 목록과 MySQL의 문 준비 (0) | 2020.03.17 |
[SQL] SQL 서버 하위 쿼리는 1 개 이상의 값을 반환했습니다. 이 허용되지 않는 서브 쿼리가 다음에 올 때 =,! =, <, <=,>,> = (0) | 2020.03.17 |
[SQL] addslashes를 통해 SQL 주입의 예 ()? (0) | 2020.03.17 |
[SQL] 열은 다른 열에서 계산? (0) | 2020.03.17 |