본문 바로가기

Algorithm/SQL

(SQL) - LeetCode (easy) 1211. Queries Quality and Percentage

반응형

https://leetcode.com/problems/queries-quality-and-percentage/description/

 

Queries Quality and Percentage - LeetCode

Can you solve this real interview question? Queries Quality and Percentage - Table: Queries +-------------+---------+ | Column Name | Type | +-------------+---------+ | query_name | varchar | | result | varchar | | position | int | | rating | int | +------

leetcode.com

집계함수를 사용해본 문제였습니다.

📕 풀이방법

📔 풀이과정

각 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;

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.