
[프로그래머스 SQL] Lv.1 조건에 맞는 아이템들의 가격의 총합 구하기
카테고리: SQL · SUM · WHERE
플랫폼: 프로그래머스
난이도: Level 1
문제 설명
다음은 어느 한 게임에서 사용되는 아이템들의 아이템 정보를 담은 ITEM_INFO 테이블입니다.
| Column name | Type | Nullable |
|---|---|---|
| ITEM_ID | INTEGER | FALSE |
| ITEM_NAME | VARCHAR(N) | FALSE |
| RARITY | INTEGER | FALSE |
| PRICE | INTEGER | FALSE |
ITEM_INFO 테이블에서 희귀도가 'LEGEND'인 아이템들의 가격의 총합을 구하는 SQL문을 작성해 주세요.
이때 컬럼명은 'TOTAL_PRICE'로 지정해 주세요.
예시
입력
| ITEM_ID | ITEM_NAME | RARITY | PRICE |
|---|---|---|---|
| 0 | ITEM_A | COMMON | 10000 |
| 1 | ITEM_B | LEGEND | 9000 |
| 2 | ITEM_C | LEGEND | 11000 |
| 3 | ITEM_D | UNIQUE | 10000 |
| 4 | ITEM_E | LEGEND | 12000 |
조건에 해당되는 아이템의 ID는 1, 2, 4이며 각 가격은 9000, 11000, 12000입니다.
출력
| TOTAL_PRICE |
|---|
| 32000 |
내 풀이
SELECT SUM(PRICE) AS TOTAL_PRICE
FROM ITEM_INFO
WHERE RARITY = 'LEGEND';
공부 포인트
1. SUM() 집계 함수
SUM(컬럼명)은 해당 컬럼의 모든 값을 더한 합계를 반환MAX(),MIN(),COUNT(),AVG()와 함께 자주 쓰이는 집계 함수
2. WHERE로 조건 필터링 후 집계
WHERE절로 먼저 조건에 맞는 행을 필터링한 뒤SUM()을 적용GROUP BY없이도 전체 합계를 한 번에 구할 수 있음
추가 팁
- 희귀도별 가격 합계를 한번에 보고 싶다면
GROUP BY RARITY를 활용할 수 있습니다. SUM()은 NULL 값을 자동으로 무시하므로 별도의 NULL 처리 없이 사용 가능합니다.
마무리 요약
이번 문제는 WHERE 조건 필터링과 SUM() 집계 함수를 조합하는 기본적인 SQL 예제다.
단순해 보이지만 조건부 집계는 실무에서도 자주 쓰이는 패턴이므로 확실히 익혀두는 것이 좋다.
이상입니다. 혹시나 제가 잘못된 내용을 작성했거나 더 좋은 방법이 있다면 댓글 남겨주세요.
지금까지 이 글을 봐주셔서 감사합니다.
'코딩테스트 > SQL' 카테고리의 다른 글
| [프로그래머스_SQL] Lv.2 진료과별 총 예약 횟수 출력하기 (0) | 2026.03.31 |
|---|---|
| [프로그래머스_SQL] Lv.2 가격이 제일 비싼 식품의 정보 출력하기 (0) | 2026.03.21 |
| [프로그래머스_SQL] Lv.1 잡은 물고기 중 가장 큰 물고기의 길이 구하기 (0) | 2026.03.16 |
| [프로그래머스_SQL] Lv.2 동명 동물 수 찾기 (0) | 2026.03.15 |
