inblog logo
|
silver
    SQL문제풀기

    [SQL문제풀기] 기증품 비율 계산하기

    silver's avatar
    silver
    Mar 03, 2025
    [SQL문제풀기] 기증품 비율 계산하기
    Contents
    문제SQLite

    문제

    solvesql.com
    solvesql.com
    https://solvesql.com/problems/ratio-of-gifts/

    SQLite

    내가 작성한 정답

    select round((round(count(artwork_id)*100,3)/round((select count(artwork_id) from artworks),3)),3) ratio from artworks where credit like '%gift%'

    개선한 정답

    : count(artwork_id)*100은 정수의 결과이므로 정수를 정수로 나누면 정수의 결과값이 나온다→ 소수점 아래를 버린다.
    → 100을 곱할 때 100이 아니라 100.0을 곱해 실수로 변환해준다.
    select round(count(artwork_id)*100.0/(select count(artwork_id) from artworks),3) ratio from artworks where credit like '%gift%'
     

    gpt의 정답

    : 서브쿼리가 아닌 case when으로 조건을 걸어서 조건을 만족하면 1을 주고 나머지는 null값으로 설정해서 카운트한다.
    SELECT ROUND( (COUNT(CASE WHEN credit LIKE '%gift%' THEN 1 END) * 100.0) / COUNT(*) ,3) AS ratio FROM artworks;
    Share article

    silver

    RSS·Powered by Inblog