언어
집계함수 안에 IF문 넣기
땅호720
2024. 1. 30. 10:45
어쩌다 보니 시리즈물
2024.01.29 - [언어] - AVG 안에 IF문 넣기
# Write your MySQL query statement below
select query_name,
round(avg(rating / position),2) quality,
# round(count(if(rating<3,1,null))/ count(*) * 100,2) poor_query_percentage
round(avg(if(rating<3,1,0)) * 100,2) poor_query_percentage
from Queries
where query_name is not null
group by query_name
count를 넣었을 때는 False인 경우 null로 처리해주어야 평균이 계산되었다. 0인 경우에는 100%가 되는 문제 발생..!!
0도 정수기 때문에 카운트가 되므로 원하는 결과를 얻을 수 없다
하지만 avg을 사용할 때는 null인 경우에는 계산할 수 없고 (null로 나누기 불가능), 0으로 넣어주어야 총합 (분모)에서 카운트가 되지 않게 되므로 원하는 결과를 얻을 수 이따!