[LeetCode] Queries Quality and Percentage

아르당·2026년 4월 10일

LeetCode

목록 보기
253/303
post-thumbnail

문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음

Problem

Table: Queries

Column NameType
query_namevarchar
resultvarchar
positionint
patingint

테이블은 중복된 행을 가질 수 있다.
테이블은 데이터베이스에서 어떤 쿼리로부터 모아온 정보를 포함한다.
position 컬럼은 1부터 500까지 값을 가진다.
rating 컬럼은 1부터 5까지 값을 가진다. rating이 3보다 낮은 쿼리는 안 좋은 쿼리이다.

쿼리 quality는 다음과 같이 정의한다.

  • 쿼리 평점과 순위 간의 비율의 평균

poor query percentage는 다음과 같이 정의한다.

  • 3보다 낮은 평점을 가진 모든 쿼리의 퍼센트

각 query_name, query, poor_query_percentage를 찾는 솔루션을 작성해라.

Example

Input:
Queries table:

query_nameresultpositionrating
DogGolden Retriver15
DogGerman Shepherd25
DogMule2001
CatShirazi52
CatSiamese33
CatSphynx74

Output:

query_namequalitypoor_query_percentage
Dog2.5033.33
Cat0.6633.33

Solved

-- Write your PostgreSQL query statement below
select
    query_name,
    round(avg(rating::numeric / position), 2) as quality,
    round(sum(case when rating < 3 then 1 else 0 end)::numeric * 100 / count(*), 2) as poor_query_percentage
from Queries
group by query_name
profile
내 마음대로 코드 작성하는 세상

0개의 댓글