https://leetcode.com/problems/confirmation-rate/
Left join을 "현명하게" 활용해야 하는 문제, 그 이유는 없는 케이스를 만들어야 하니까.
Confirmation이 1, 아니면 0을 평균으로 계산하는 아이디어는 덤. 이러면 NULL은 0만 줄거고, 0의 평균은 0이다.
아이디어가 좀 필요하다.
SELECT
SIGNUPS.USER_ID,
ROUND(AVG(CASE WHEN CONFIRMATIONS.ACTION = "CONFIRMED" THEN 1 ELSE 0 END),2) AS CONFIRMATION_RATE
FROM
SIGNUPS LEFT JOIN CONFIRMATIONS ON SIGNUPS.USER_ID = CONFIRMATIONS.USER_ID
GROUP BY SIGNUPS.USER_ID
'SQL' 카테고리의 다른 글
[LeetCode] Count Salary Categories (0) | 2024.02.06 |
---|---|
[LeetCode] Friend Requests II (0) | 2024.01.31 |
[LeetCode] Department Top Three Salaries (1) | 2024.01.30 |
[LeetCode] Second Highest Salary (1) | 2024.01.30 |
[SQL] 윈도우 함수 다시 정리 (0) | 2024.01.27 |