DB 19일차

김강산·2022년 6월 28일

orcle SQL

목록 보기
16/25

<학습목표>
1. 소GROUP검색 : SELECT절에서 집계함수 이외의 컬럼들은 GROUP BY절에 기술한다
집계함수 : SUM, AVG, MAX, MIN, COUNT
2. OUTERJOIN : GROUP BY 콜라보 예제2개

소GROUP
EX)
2005년 1월에 입고된 상품(BUY_PROD)의
상품분류별 입고수량(BUY_QTY)의 합,
입고단가(BUY_COST)의 합을 구한 후
최종입고가격을 검색하시오.
최종입고가격은 입고단가 X 입고수량이고,
최종입고가격을 내림차순으로 정렬
(ALIAS : 구입년월, 상품분류코드,
입고수량합계, 입고단가합계 최종입고가격합계)

SELECT SUBSTR(BUY_PROD,0,4) 상품
, BUY_DATE 구입년월
, SUM(BUY_QTY) 입고수량
, SUM(BUY_COST)입고단가
, SUM(BUY_COST) * SUM(BUY_QTY) 최종입고가격
FROM BUYPROD
WHERE BUY_DATE LIKE '05/01/%'
GROUP BY SUBSTR(BUY_PROD,0,4), BUY_DATE
ORDER BY 1,2;

P.285
집계함수 문제1
CART테이블을 활용하여
2005년도 2분기(4월~6월)의
김은대(a001), 이쁜이(b001), 육평회(q001)회원 별
상품분류 별(P101, P102 ...)
상품구매개수의 합계를 구하기.
상품구매개수로 역순정렬하기
alias : 회원ID, 년월, 상품분류, 구매개수

SELECT CART_MEMBER 회원ID
, SUBSTR(CART_NO,0,6) 년월
, SUBSTR(CART_PROD,1,4) 상품분류
, SUM(CART_QTY) 구매개수
FROM CART
WHERE SUBSTR(CART_NO,0,6) BETWEEN '200504' AND '200506'
AND SUBSTR(CART_NO,0,6) IN('200504','200505','200506')
AND CART_MEMBER IN('a001','b001','q001')
GROUP BY CART_MEMBER, SUBSTR(CART_NO,0,6), SUBSTR(CART_PROD,1,4)
ORDER BY SUM(CART_QTY) DESC;

DESC는 역순으로 정렬

0개의 댓글