[다음문제]
아이디 'jhw1010' 유저가 보낸 시나리오 타입별 알림톡 발송건수를 계산하세요.
★힌트 (Group by) 사용해서 isSystem이 N/Y로 구분!
단, 시스템 발송건은 제외 (ab_alimtalk_tran_info의 isSystem이 'Y'일 경우 제외)
일단 알림톡 발송 건수를 계산하락 했으니, 실질적으로 추출하고 싶은 컬럼은 totalcount.
그리고 어느 테이블에서 꺼낼 것이냐 했을 때, ab_alimtalk_tran_info가 맞다.
그 다음 조건 1번은 jhw1010 유저가 보냈야하고 그 다음은 시스템 발송건은 제외가 되어야 한다.
그리고 마지막으로 "타입별" > 알림톡 발송건수를 계산해야 하니
타입별을 Group by 하는 것으로 생각했다.
NOT NULL 은 NULL값을 제외한 나머지를 의미하니, 탈락.. (왜 썼지 도대체)
아이디 'jhw1010' 유저가 보낸 시나리오 타입별 알림톡 발송건수를 계산하세요.
단, 시스템 발송건은 제외 (ab_alimtalk_tran_info의 isSystem이 'Y'일 경우 제외)
※ (Group by) 사용해서 isSystem이 N/Y로 구분!
=============================================================================
1.
다시 복기시켜보면, 실질적으로 구하고 싶은 값은
유저 아이디와, 시나리오 타입, 발송건수이다.
타입별 알림톡 발송건수라 함은 종속되는 의미일 줄 알았는데 그게 아니라 이럴 경우에는 시나리오 타입도 꼭 SELECT에 명시를 해줘야 함! 잊지말자.
2. 그 다음 알림톡 발송건수 전체를 구하고 싶으면, total count를 sum해서 보여줘야 한다. 그렇지 않을 경우
전체 발송건수가 아니라 그 시나리오 타입에 해당하는 total count만 명시될테니.
3. 어쨌거나 유저ID를 가져오려면 alimtalk_tran_info 테이블에서는 user id를 가져올 수 없으니
어떻게 해야한다? 쪼인을 합시다 쪼쪼쪼. 그렇기에 테이블이 동일한 컬럼을 갖고 있을테니
a.와 b.로 구분해주는 작업은 필수!
4. 레프트 조인은 예정대로 진행하고~ on이라는 전치사를 통해 seq끼리 관계를 맺어준다.
5. 그 다음이 어려운 내용인데..다시 한 번 조건을 살펴보면,
1) 아이디 jhw1010이 보냈어야 하고
2) 시스템 발송건은 제외되어야 한다는 것. equals를 표현할 때는 "="를 쓰지만 반대일 경우 "<>"라는 점을 잊지맙시다.
6. 마지막으로 대망의 group by! 시나리오 타입으로 묶어줍시다.
===============================================================================
▼ 아래는 참고용▼
'PO로로 > 오늘도 SQL' 카테고리의 다른 글
[오늘도 SQL] ORDER BY 정렬 / 내림차순 적용하기 (1) | 2022.12.02 |
---|---|
[오늘도 SQL] 중복 제거하고 조회하기 (0) | 2022.11.30 |
[오늘도 SQL] NULL인 경우 제외하고 결과값 추출하기 (0) | 2022.11.18 |
[오늘도 SQL] 탈퇴유저가 사용했던 상품명과 상품타입 (0) | 2022.11.10 |
[오늘도 SQL] AVG()사용해서 평균값 추출하기 (0) | 2022.11.09 |