Leetcode PostgreSQL Queries Quality and Percentage
업데이트:
문제
코드
-- Write your PostgreSQL query statement below
SELECT query_name
, ROUND(AVG(rating::DECIMAL / position), 2) AS quality
, ROUND(SUM(CASE WHEN rating < 3 THEN 1 ELSE 0 END)::DECIMAL / count(*) * 100, 2) AS poor_query_percentage
FROM Queries
WHERE query_name IS NOT NULL
GROUP BY query_name
결과
설명
- Queries 테이블에서 아래의 규칙의 값들을 query_name 기준으로 통계내는 문제이다.
- quality는 $\frac{rating}{position}$의 평균을 나타낸다.
- poor_query_percentage는 rating이 3 미만인 쿼리의 비율을 나타낸다.
- 각 결과는 임의 순서대로 반환하며, 통계 결과는 소수점 2자리까지 표현한다.
-
quality와 poor_query_percentage를 산출할 때 각 값은 int 형이므로, 소수점을 반환하기 위하여 분자를 DECIMAL 형으로 변경한다.
-
query_name이 nullable 필드이므로, NULL이 아닌 경우만 대상으로 한다.
- query_name 기준으로 GROUP BY 수행하여 각 결과를 query_name 기준으로 통계내준다.
댓글남기기