[프로그래머스] 조건에 맞는 아이템들의 가격의 총합 구하기 SQL
2025. 2. 19. 20:38ㆍSQL 알고리즘
728x90
[프로그래머스] 조건에 맞는 아이템들의 가격의 총합 구하기 SQL
문제 설명
ITEM_INFO 테이블은 게임에서 사용되는 아이템들의 정보를 담고 있습니다. 이 테이블에는 각 아이템의 가격과 희귀도 등의 정보가 포함되어 있습니다.
Column name Type Nullable
| ITEM_ID | INTEGER | FALSE |
| ITEM_NAME | VARCHAR(N) | FALSE |
| PRICE | INTEGER | FALSE |
| RARITY | VARCHAR(N) | FALSE |
이번 문제에서는 RARITY(희귀도)가 'LEGEND'인 아이템들의 PRICE(가격) 총합을 구하는 SQL문을 작성해야 합니다.
예시
예를 들어 ITEM_INFO 테이블이 다음과 같다면,
ITEM_ID ITEM_NAME PRICE RARITY
| 1 | Excalibur | 10000 | LEGEND |
| 2 | Dragon Helm | 5000 | RARE |
| 3 | Holy Shield | 15000 | LEGEND |
| 4 | Magic Wand | 3000 | COMMON |
| 5 | Divine Robe | 8000 | LEGEND |
위 테이블에서 RARITY가 'LEGEND'인 아이템들의 가격 총합을 구하면:
- Excalibur: 10000
- Holy Shield: 15000
- Divine Robe: 8000
총합: 10000 + 15000 + 8000 = 33000
따라서 결과는 다음과 같습니다.
TOTAL_PRICE
| 33000 |
해결 방법
조건에 맞는 아이템들의 가격을 합산하기 위해 SUM() 함수를 사용합니다.
SQL 코드
SELECT SUM(PRICE) AS TOTAL_PRICE
FROM ITEM_INFO
WHERE RARITY = 'LEGEND';
풀이 설명
- SUM(PRICE): PRICE 컬럼의 총합을 계산합니다.
- WHERE RARITY = 'LEGEND': 희귀도가 'LEGEND'인 아이템들만 선택하여 합산합니다.
- AS TOTAL_PRICE: 결과 컬럼명을 TOTAL_PRICE로 지정합니다.
추가 설명
- SUM() 함수는 지정한 컬럼의 모든 값을 더하는 SQL의 집계 함수입니다.
- WHERE 절을 활용하여 특정 조건에 맞는 데이터만 필터링할 수 있습니다.
- 만약 RARITY = 'LEGEND'인 아이템이 없다면 결과는 NULL이 아니라 0이 될 수 있도록 COALESCE(SUM(PRICE), 0)을 사용할 수도 있습니다.
728x90
'SQL 알고리즘' 카테고리의 다른 글
| [프로그래머스] 최댓값 구하기 SQL (2) | 2025.02.19 |
|---|---|
| [프로그래머스] 가장 비싼 상품 구하기 SQL (1) | 2025.02.19 |
| [프로그래머스] 3월에 태어난 여성 회원 목록 출력하기 - MySQL (5) | 2025.02.17 |
| [프로그래머스] SQL 문제 - 12세 이하인 여자 환자 목록 출력하기 (1) | 2025.02.17 |
| [SQL] ORDER BY로 데이터 정렬하기 – 내림차순 & 오름차순 정리 (0) | 2025.02.15 |