728x90
🗂️ 문제
[SQL50] 1211. Queries Quality and Percentage (AGGREGATE)
✍🏻 풀이
문제 해석
주어진 Queries 테이블에서 각 query_name에 대해 다음을 계산하는 문제
- Quality
- query quality는 각 query_name에 대해 다음 식을 평균한 값
- rating / position (각 쿼리의 rating을 position으로 나눈 값)
- 위의 값들의 평균을 구하는 것이다.
- 소수점 둘째 자리까지 반올림
- query quality는 각 query_name에 대해 다음 식을 평균한 값
- Poor Query Percentage
- rating이 3 미만인 쿼리의 비율을 구한다.
- rating이 3 미만인 개수 / 해당 query_name의 전체 개수
- 소수점 둘째 자리까지 반올림
- rating이 3 미만인 쿼리의 비율을 구한다.
코드
SELECT
query_name,
ROUND(AVG(rating/position::decimal), 2) AS quality,
ROUND(100.0 * SUM(CASE WHEN rating < 3 THEN 1 ELSE 0 END) / COUNT(*), 2) AS poor_query_percentage
FROM Queries
WHERE query_name IS NOT NULL
GROUP BY query_name
;
ROUND
소수점 둘째 자리까지 반올림한 값을 출력하기 위해 round를 사용
https://youngone-kang.tistory.com/51
728x90
'coding_test > SQL 문제' 카테고리의 다른 글
[LeetCode] 550. Game Play Analysis IV (AGGREGATE) (0) | 2025.03.14 |
---|---|
[LeetCode] 1193. Monthly Transactions I (AGGREGATE) (0) | 2025.02.19 |
[LeetCode] 1633. Percentage of Users Attended a Contest (AGGREGATE) (0) | 2025.02.10 |
[LeetCode] 1075. Project Employees I (AGGREGATE) (0) | 2025.02.10 |
[LeetCode] 1251. Average Selling Price (AGGREGATE) (0) | 2025.02.10 |