# 링크
- solvesql Advent of SQL 2024: https://solvesql.com/collections/advent-of-sql-2024/
- 7일차 - 기증품 비율 계산하기: https://solvesql.com/problems/ratio-of-gifts/
# 풀이
SELECT
ROUND(
CAST(
SUM(
CASE WHEN credit LIKE '%gift%' THEN 1 ELSE 0 END
) AS FLOAT
) / COUNT(*) * 100.0,
3
) AS ratio
FROM artworks
- SELECT~:
- ROUND(~,3): 소수점 셋째 자리까지 반올림한다.
- CAST(~ AS FLOAT): 결과(정수값)를 실수(FLOAT)로 변환한다.
* 정수 값끼리 나눗셈을 하면 소수점 이하가 버려질 수 있으므로, 이를 방지하기 위해 실수 타입으로 변환한다. - SUM(CASE WHEN credit LIKE '%gift%' THEN 1 ELSE 0 END): credit 컬럼의 값이 'gift'를 포함할 때 1, 포함하지 않을 때 0을 반환하여 값을 모두 더한다.
- / COUNT(*) * 100.0: 값을 전체 레코드 수로 나눈 후, 백분율로 계산한다.
- AS ratio: 계산 결과를 ratio로 저장한다.
- FROM artworks: artworks 테이블에서 데이터를 가져온다.
728x90
'SQL > solvesql Advent of SQL 2024' 카테고리의 다른 글
[SQL] solvesql Advent of SQL 2024 9일차 (2) | 2024.12.09 |
---|---|
[SQL] solvesql Advent of SQL 2024 8일차 (0) | 2024.12.08 |
[SQL] solvesql Advent of SQL 2024 6일차 (0) | 2024.12.06 |
[SQL] solvesql Advent of SQL 2024 5일차 (2) | 2024.12.05 |
[SQL] solvesql Advent of SQL 2024 4일차 (0) | 2024.12.04 |