728x90
반응형
1. 문제 설명
반응형
2. 풀이과정
해당 문제는 만원 단위의 가격대 별로 상품 개수를 조회하는 문제이다.
결과를 조회할 때 컬럼명은 PRICE_GROUP과 PRODUCTS로 지정해야 한다.
가격대 정보는 각 구간의 최소 금액으로 표시한다.
예를 들어 10,000원 이상 20,000원 미만 구간은 10,000원으로 표시해 준다.
가격 컬럼의 값을 보고 가격대 정보를 구하기 위해선 TRUNCATE() 함수를 활용하여 가격 컬럼의 값에서 일부를 버림 해야 한다.
TRUNCATE(숫자, 자릿수) 형식으로 지정하면 해당 숫자를 자릿수를 기준으로 버림 한다.
만약 자릿수가 양수이면 해당 자릿수에서 소수점을 버리고, 자릿수가 음수이면 소수점 이하를 버리고 정수의 뒤에서부터 지정된 자릿수까지 0으로 처리하게 된다.
예를 들면 TRUNCATE(4.567, 2) 일 경우 4.56이 반환되고, TRUNCATE(4567, -2)이면 4500이 반환된다.
이처럼 TRUNCATE()를 활용해 가격대 정보를 구한다.
이후 가격대 별로 상품의 개수를 조회해야 하므로 구한 가격대 정보를 기준으로 그룹으로 나눈 후, 각 그룹별 데이터의 개수를 COUNT() 함수로 세어 가격대 별로 상품의 개수를 조회한다.
최종 결과는 가격대를 기준으로 오름차순 정렬하여 조회한다.
- 가격 컬럼에서 만원 단위의 가격대 정보를 구하여 PRICE_GROUP 컬럼으로 조회하고, 가격대 별로 나눈 각 그룹별 데이터 개수를 세어 PRODUCTS 컬럼으로 조회한다. SELECT TRUNCATE(PRICE, -4) AS PRICE_GROUP, COUNT(*) AS PRODUCTS
- 값을 조회할 테이블을 지정한다. FROM PRODUCT
- 가격대 별로 상품 개수를 조회해야 하므로 가격대를 기준으로 그룹을 만들어준다. GROUP BY PRICE_GROUP
- 최종 결과는 가격대를 기준으로 오름차순 정렬하여 조회한다. ORDER BY PRICE_GROUP
728x90
3. 소스코드
SELECT TRUNCATE(PRICE, -4) AS PRICE_GROUP, COUNT(*) AS PRODUCTS
FROM PRODUCT
GROUP BY PRICE_GROUP
ORDER BY PRICE_GROUP
728x90
반응형
'프로그래머스 > MySQL' 카테고리의 다른 글
[프로그래머스] 3월에 태어난 여성 회원 목록 출력하기 - MySQL - 우당탕탕 개발자 되기 프로젝트 (0) | 2024.10.04 |
---|---|
[프로그래머스] 루시와 엘라 찾기 - MySQL - 우당탕탕 개발자 되기 프로젝트 (0) | 2024.10.03 |
[프로그래머스] 성분으로 구분한 아이스크림 총 주문량 - MySQL - 우당탕탕 개발자 되기 프로젝트 (0) | 2024.10.02 |
[프로그래머스] 상품 별 오프라인 매출 구하기 - MySQL - 우당탕탕 개발자 되기 프로젝트 (0) | 2024.09.30 |
[프로그래머스] 조건에 맞는 도서와 저자 리스트 출력하기 - MySQL - 우당탕탕 개발자 되기 프로젝트 (0) | 2024.09.29 |
[프로그래머스] 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 - MySQL - 우당탕탕 개발자 되기 프로젝트 (0) | 2024.09.28 |
[프로그래머스] 입양 시각 구하기(1) - MySQL - 우당탕탕 개발자 되기 프로젝트 (2) | 2024.09.27 |
[프로그래머스] 중성화 여부 파악하기 - MySQL - 우당탕탕 개발자 되기 프로젝트 (0) | 2024.09.25 |