반응형
문제
PRODUCT 테이블에서 상품 카테고리 코드(PRODUCT_CODE 앞 2자리) 별 상품 개수를 출력하는 SQL문을 작성해주세요. 결과는 상품 카테고리 코드를 기준으로 오름차순 정렬해주세요.
구조
PRODUCT_ID, PRODUCT_CODE, PRICE는 각각 상품 ID, 상품코드, 판매가를 나타냅니다.
예시
완성한 쿼리
select
substr(product_code,1,2) category,
count(*) products
from product
group by substr(product_code,1,2)
order by substr(product_code,1,2)
substr을 이용해서 풀어줬습니다. 이전 시간에 풀었던 문제와 사용하는 함수만 다르고 매우 유사합니다!
substr(문자열, 시작위치, 길이) : Java의 Array와는 다르게 0부터가 아닌 1부터 시작입니다.
instr(문자열, 타겟문자열, 시작위치, 횟수) : 구분자로 문자 자르기, 문자열 찾기
ex) str = '내 죽음을 적에게 알리지 마라'
instr(str, ' ') ➡️ 2 : str에서 띄어쓰기 있는 문자 위치 찾기
instr(str, ' ', 4) ➡️ 6 : str의 4째 문자부터 띄어쓰기가 있는 문자 위치 찾기
instr(str, ' ', 4, 3) ➡️ 14 : str의 4째 문자부터 3번째 띄어쓰기가 있는 문자 찾기
substr(str, 0, instr(str, ' ', 4, 3)) ➡️ '내 죽음을 적에게 알리지' : 띄어쓰기 3번째 문자열까지 문자열 자르기
문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/131529
반응형
'코딩테스트 > Oracle DB' 카테고리의 다른 글
[Oracle] 프로그래머스 : 가격이 제일 비싼 식품의 정보 출력하기 (0) | 2024.01.18 |
---|---|
[Oracle] 프로그래머스 : 3월에 태어난 여성 회원 목록 출력하기 (0) | 2024.01.16 |
[Oracle] 프로그래머스 : 가격대 별 상품 개수 구하기 (1) | 2024.01.09 |
[Oracle] 프로그래머스 : 상품 별 오프라인 매출 구하기 (1) | 2023.12.22 |
[Oracle] 프로그래머스 : 재구매가 일어난 상품과 회원 리스트 구하기 (0) | 2023.12.22 |