반응형
mysql의 group_concat과 유사한 함수가 oracle에 있나요?
제 의견은 이렇습니다.
col1 col2
1 a
1 b
2 c
2 d
2 e
O/P: 다음과 같아야 함
col1 col2
1 a,b
2 c,d,e
DB 레벨에서 실행할 수 있는 쿼리를 원합니다.여러 가지 방법을 시도해 봤지만 알아내지 못했어요
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특정 이전 버전의 Oracle에서 사용할 수 있으므로 도움이 될 수 있습니다. 자세한 내용은 여기를 참조하십시오.
MySQL의 경우:
SELECT col1, GROUP_CONCAT(col2) FROM table_name GROUP BY col1
언급URL : https://stackoverflow.com/questions/16771086/is-there-any-function-in-oracle-similar-to-group-concat-in-mysql
반응형
'programing' 카테고리의 다른 글
| -Dlogback.configurationFile=logback.xml이 스프링 부트를 실행할 때 무시됨 (0) | 2023.02.23 |
|---|---|
| WordPress에서 일부 파일을 쓸 수 없습니다. 웹 사이트를 관리자가 변경할 수 없습니다. (0) | 2023.02.23 |
| AngularJS - 프로그래밍 방식으로 격리된 새 스코프를 만들려면 어떻게 해야 합니까? (0) | 2023.02.23 |
| Wordpress 이미지 URL 변경 (0) | 2023.02.23 |
| 요청 가져오기가 액세스 제어 검사를 통과하지 못했습니다.요청된 리소스에 'Access-Control-Allow-Origin' 헤더가 없습니다. (0) | 2023.02.23 |