📝 Language: Oracle
1
2
3
4
5
6
7
|
SELECT SUBSTR(PRODUCT_CODE, 1, 2) CATEGORY,
COUNT(PRODUCT_ID) PRODUCTS
FROM PRODUCT
GROUP BY SUBSTR(PRODUCT_CODE, 1, 2)
ORDER BY SUBSTR(PRODUCT_CODE, 1, 2)
;
|
🙂 확인 사항
1. PRODUCT 테이블
2. 상품 카테고리 코드 별 상품 개수 출력
3. 상품 카테고리코드 기준 오름차순 정렬
😮 이 외의 풀이
1
2
3
4
5
6
7
8
9
10
11
12
|
WITH SUBSTRING AS (
SELECT SUBSTR(PRODUCT_CODE, 1, 2) CATEGORY,
COUNT(*) PRODUCTS
FROM PRODUCT
GROUP BY SUBSTR(PRODUCT_CODE, 1, 2)
)
SELECT CATEGORY,
PRODUCTS
FROM SUBSTRING
ORDER BY CATEGORY
;
|
- GROUP BY 결과는 자체적으로 DISTINCT되어 나오므로 공통 표현식에서 COUNT 먼저 처리
- 집계함수는 GROUP BY와 함께 사용
- SELECT절은 GROUP BY 절에 사용된 COL만 사용 가능
1
2
3
4
5
6
7
8
9
10
|
SELECT CATEGORY,
COUNT(CATEGORY) AS PRODUCTS
FROM (
SELECT SUBSTR(PRODUCT_CODE, 1, 2) AS CATEGORY
FROM PRODUCT
)
GROUP BY CATEGORY
ORDER BY CATEGORY
;
|
- 인라인 뷰 사용
- COUNT(CATEGORY)는 그룹 내에서 CATEGORY 열의 각 고유한 값의 개수를 계산
- SQL 쿼리가 실행될 때, 먼저 FROM 절에서 테이블을 가져오고 필요한 데이터 준비
- 이후, WHERE 절에 해당하는 데이터를 필터링하고, 필요한 변환 작업 수행
- GROUP BY가 먼저 실행되어 COUNT를 반환하고, SELECT이 실행
🔗 소스 코드
GitHub
'Computer > Algorithm_SQL' 카테고리의 다른 글
[Algorithm_SQL] 상품 별 오프라인 매출 구하기 (Success) (1) | 2023.10.04 |
---|---|
[Algorithm_SQL] 가격대 별 상품 개수 구하기 (Success) (0) | 2023.10.03 |
[Algorithm_SQL] 3월에 태어난 여성 회원 목록 출력하기 (Success) (0) | 2023.10.01 |
[Programmers] 가격이 제일 비싼 식품의 정보 출력하기 (Success) (0) | 2023.09.30 |
[Programmers] DATETIME에서 DATE로 형 변환 (Success) (0) | 2023.09.29 |