안녕하세요.
수능날 답게 쌀쌀한 날씨네요, 한창 수능날만 되면 눈이 내리던데 몇년간 안내리는거 보니..
환경오염이..(?) .. 죄송합니다. 본론으로 넘어가 LISTAGG를 사용하여
2개의 컬럼을 합하고싶은데. 컬럼명은
failcon, count(*) 입니다.
원하는 데이터의 결과값
----------------------------------------------------------------------------------
failcon
연결이실패함 : 299 접속시도중 : 500 사용자 없음 : 600
----------------------------------------------------------------------------------
SELECT LISTAGG(FAILCON, ': ') WITHIN GROUP (ORDER BY COUNT(*)) AS FAILCON
FROM A
WHERE ID = 'ABC'
GROUP BY FAILCON
이렇게하면 실패사유만 나와서 질문 드렸습니다.
가능한건지 모르겠어서요
답변주시면 감사하겠습니다. 즐거운 하루 보내세요^^
아 제가 질문을 잘못드렸네요
원본 데이터의 쿼리
SELECT failcon
, count(*)
FROM A
WHERE A.ID = 'ABC'
GROUP BY failcon
------------------------------------------------
failcon count
연결안됨 144
접속종료 243
사용자없음 559
---------------------------------------------
원하는 데이터의 결과값
----------------------------------------------------------------------------------
failcon
연결안됨 : 144 접속종료 : 243 사용자없음 : 559
----------------------------------------------------------------------------------
아 네 마농님 맞습니다
select max(case when rk = 1 then failcon || ':' || '' || ' ' || cnt || '건 |' end)
|| max(case when rk = 1 then failcon || ':' || '' || ' ' || cnt || '건 |' end)
|| max(case when rk = 1 then failcon || ':' || '' || ' ' || cnt || '건 |' end)
from(
select rank() over( order by( count(*) desc ) as rk
, failcon
, count(*) as cnt
from A
where ID = 'ABC'
group by failcon
으로 해결했습니다.
도움 감사드립니다~~