반응형
https://leetcode.com/problems/queries-quality-and-percentage/description/
집계함수를 사용해본 문제였습니다.
📕 풀이방법
📔 풀이과정
각 query_name에 대해 group by를 수행한 뒤 group별 rating / position 의 평균을 quality에, rating이 3미만인 비율을 poor_query_percentage으로 select해줍니다.
* query_name이 null인 경우도 있을 수 있으므로 having에 null 아닌 것으로 조건 걸어줍니다.
📕 Code
📔 MySQL
select
query_name,
ROUND(SUM(rating / position) / COUNT(*) ,2) as quality,
ROUND(SUM(CASE WHEN rating < 3 then 1 else 0 end) * 100.0 / COUNT(*), 2) poor_query_percentage
from queries group by query_name having query_name is not null;
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > SQL' 카테고리의 다른 글
(SQL) - LeetCode (easy) 1484. Group Sold Products By The Date (0) | 2024.04.02 |
---|---|
(SQL) - LeetCode (easy) 1251. Average Selling Price (0) | 2023.12.20 |
(SQL) - LeetCode (easy) 1148. Article Views I (0) | 2023.11.09 |
(SQL) - LeetCode (easy) 1141. User Activity for the Past 30 Days I (0) | 2023.11.07 |
(SQL) - LeetCode (easy) 1050. Actors and Directors Who Cooperated At Least Three Times (0) | 2023.10.18 |