문제 요약 🛑 :
주어진 문제는 의류 쇼핑몰의 상품 정보를 담고 있는 PRODUCT 테이블에 대한 것입니다. 이 테이블은 상품 ID, 상품 코드, 판매가를 포함하며, 상품 코드의 첫 두 자리가 카테고리 코드를 나타냅니다. 문제는 각 카테고리 코드별 상품 개수를 출력하고, 결과를 카테고리 코드 기준으로 오름차순 정렬하는 SQL 문을 작성하는 것입니다. 예를 들어 A1 카테고리에는 2개의 상품, C3 카테고리에는 3개의 상품이 포함되어 결과로 나타나야 합니다.
해결 과정 🔄
① 실수를 줄이기 위한 세팅
이 간단한 세팅만으로도 기초 문제 풀이에서 실수를 줄일 수 있다.
FROM 다음에 테이블을 무조건 추가해서 뼈대를 잡는 습관이 좋다.
ORDER BY는 필요할 때 주석처리를 하되 결코 지우지 않는다.
② 숫자를 세는 함수 파악하기
나는 SQL을 문과 수준 현업에서 다루어보았고, Python 자료 처리를 매우 자주 했다.
데일리 문제풀이에서 새롭게 학습하는 것 보다 간단한 함수들이 생각처럼 작동하는지 확인했다.
나중에는 체계적으로 정리하더라도 지금은 문제 해결에 집중하기로 했다.
우선 COUNT 함수가 예상대로 작동함을 확인한다.
③ 중간과정 따라가기
문제 조건에 맞추기 위해 LEFT 함수를 적용한다.
GROUP BY 느낌으로 쓸 수 있나 했지만 먹히지 않았다. 구문 자체가 잘못되었다는 결과를 확인한다.
④ 중간 코드
CATEGORY 기준으로 정렬하고, CATEGORY를 기준으로 GROUP BY 를 한다.
그리고 각각에 대해 COUNT를 해준다.
COUNT는 일반적으로 식별자(ID, 혹은 Primary Key 값)을 해주면 될 것이다.
최종 해결 코드 🛠️
문제에서 원하는 양식으로 해결한다.
깨달은 것 💡
- 예제를 통해, GROUP BY와 COUNT()의 사용 양상을 익혔다.
- SELECT FROM, ORDER BY, LEFT(), AS 의 용법을 다시 썼다.
적용점 🚀
- 이 예시는 차후 GROUP BY 및 COUNT()가 헷갈릴 때(나나 학습 동료가) 가볍게 참고할 수 있을 것이다.
참고 자료 📚
(문제 출처)
프로그래머스, 카테고리 별 상품 개수 구하기, https://school.programmers.co.kr/learn/courses/30/lessons/131529
'(2024-10) 스파르타 내일배움캠프 - 백엔드 > TIL' 카테고리의 다른 글
(2024-11-11) 개인 공부 (0) | 2024.11.11 |
---|---|
(2024-11-08) TIL: 첫 개발 팀프로젝트 회고 (1) | 2024.11.08 |
(2024-11-06) TIL (3) | 2024.11.06 |
(2024-11-05) TIL (0) | 2024.11.05 |
(2024-11-04) TIL (0) | 2024.11.04 |