쿼리 질문드립니다~ 0 2 584

by 구루업투 [SQL Query] [2018.04.23 18:13:17]


안녕하세요.

아래 처럼 결과를 뽑을 수 있을까요? 

각 이름마다 상태가 있는데 이름마다 전체 상태 개수와 완료인 개수를 결과로 뽑을 수 있을까요?

첫번째 테이블의 결과고 두번째 테이블의 결과로 나와야하는데...잘안되네요.

고수분들 도움 부탁드립니다!

상태 이름
완료 abc
진행 abc
완료 abc
완료 bbb
완료 bbb

 

완료 전체 이름
2 3 abc
2 2 bbb

abc는 전체 상태 개수가 3개이고 완료인 상태는 2개.

bbb는 전체 상태 개수가 2개이고 완료인 상태는 2개.

 

by 신이만든지기 [2018.04.23 18:25:31]
with t as (
    select '완료' state, 'abc' name from dual union all
    select '진행' state, 'abc' name from dual union all
    select '완료' state, 'abc' name from dual union all
    select '완료' state, 'bbb' name from dual union all
    select '완료' state, 'bbb' name from dual
)
select count(decode(state, '완료', 1)) finished, count(*) total, name 
  from t 
 group by name
 order by name asc  

 


by 구루업투 [2018.04.23 18:38:42]

감사합니다. 잘동작하네요!!

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