SQL 이것저것

[MySQL] SUBSTR, LEFT, RIGHT 함수

pjw250 2024. 10. 4. 11:04

코딩테스트 연습 - 카테고리 별 상품 개수 구하기 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

보통 substr(X, n, m)을 이용해서 X 값에서의 n 번째 부터 m 번째 까지 추출하게 된다.

물론 1번째 부터 추출을 하고자 한다면 LEFT(X, n)을 사용해서 X 값에서 n 번째 까지 가져올 수 있다.

 

** SUBSTR은 n을 음의 정수를 사용하면 우측에서 n 번째부터 오른쪽으로 m 번째 가져오기도 한다.

** SUBSTY(X, -3, 3) : X 값 우측 끝에서 3 번째 자리에서 오른쪽으로 3개 문자열 추출

** LEFT(X,n) : X 값 좌측 끝에서 부터 오른쪽으로 n 번째 문자열 까지 추출

** RIGHT(X,n) : X 값 우측 끝에서 부터 왼쪽으로 n 번째 문자열 까지 추출

 

이에 대해 아래 쿼리안에서 SELECT 문과 GROUP BY 쿼리는 같은 값을 출력하게 된다.

SELECT 
    SUBSTRING(PRODUCT_CODE, 1, 2) AS CATEGORY, 
    COUNT(PRODUCT_ID) AS PRODUCTS
FROM PRODUCT
GROUP BY LEFT(PRODUCT_CODE, 2)
ORDER BY PRODUCT_CODE ASC;