SQL/문제풀이
Queries Quality and Percentage _ Easy. LeetCode *
데이터분석가 이채은
2024. 10. 12. 20:09
Solution
SELECT query_name,
ROUND(SUM(rating / position) / COUNT(query_name), 2) AS quality,
ROUND(SUM(CASE WHEN rating < 3 THEN 1 ELSE 0 END) / COUNT(query_name) * 100 , 2) AS poor_query_percentage
FROM Queries
WHERE query_name IS NOT NULL
GROUP BY query_name;
1. rating이 3 이하인 개수를 구해야 하는데 CASE WHEN을 사용할 수 있는지 몰랐었다. 그리고 꼭 END를 뒤에 붙여야 한다.
2. WHERE 절 없이 제출했더니 query_name이 null인 경우는 계산이 안되게 해야 했다.. 근데 문제에 그런 말이 없는데.. Test Case에도 없고.. 디버깅한 것으로 만족해야겠다.