GROUP BY 질문드립니다! 0 4 620

by zumsim [2020.06.18 11:35:56]


업무중에 관리자 목록을 재구현중인데

권한이 여러개인 사람들은 ,로 구분해서 한줄에 쓰고 싶은데 감이 안와서요

사람별 권한 갯수를 구하는거야 GROUP BY로 묶어서 하면 되는데 저건 어떤식으로 해야할지 키워드도 감이 안와 구글링이 어려워서

죄송스럽게도 질문남깁니다!

 

by zumsim [2020.06.18 11:39:28]

자답 남깁니다.

 

LISTAGG(A.ROLE_NM, ',') WITHIN GROUP (ORDER BY B.ROLE_ID) 

이런식으로 하니 해결했습니다

혹시 다른 방법이 있다면 추가로 알려주시면 감사하겠습니다!


by JYK94 [2020.06.18 15:11:47]

oracle 10g에서는 LISTAGG를 지원하지 않아 WM_CONCAT을 사용하여야 하고

LISTAGG는 oracle 11.2 이후 부터 지원합니다.

WM_CONCAT은 구분자가 ','로 고정되어있고 LISTAGG처럼 정렬 기능이 없습니다.

이외 XMLAgg 등 'oracle 문자열연결' 검색하시면 확인하실 수 있습니다.


by zumsim [2020.06.18 17:44:36]

아하 감사합니다!


by 마농 [2020.06.22 07:42:58]
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입