Search

98-10. BOOSTER QUIZ 답안 10

BOOSTER QUIZ 10-2-1

현재 Active한 회원에 대해 회원등급별 회원수를 보여주세요. 회원등급은 코드값이 아닌 명칭으로 보여주세요. 전체 합계도 추가해서 표시해주세요.
대상 테이블: 회원(Member)
조회 조건: MemberSt가 ACTV인 데이터
조회 컬럼: MemberGdNm, MemberCnt
추가 조건
ROLLUP을 사용해 전체 합계를 추가하시오.
BaseCd 테이블을 사용해 MemberGd의 명칭을 보여주시요.(MemberGdNm)
GROUPING을 사용해 합계인 경우에는 MemberGdNm을 Total로 보여주세요.
MemberGdNm MemberCnt ---------- --------- Gold 3146 Platinum 1144 Silver 5509 Total 9799
SQL
복사
풀이

BOOSTER QUIZ 10-2-2

2020년에 시작한 매장에 대해 시작년월별 매장운영유형별 매장건수를 보여주세요. 시작년월별 중간합계와 전체합계도 포함해서 보여주세요.
대상 테이블: 매장(Shop)
조회 조건: ShopStartYmd가 2020년인 데이터
ShopStartYmd는 날짜를 관리하지만 문자형 자료형임에 주의가 필요
조회 컬럼: ShopStartYm, ShopOperTpNm, ShopCnt
추가 조건
ShopStartYm: ShopStartYmd를 년월로 처리(SUBSTR(ShopStartYmd,1,6))
ShopStartYm, ShopOperTp별 GROUP BY 처리하시오.
ShopCnt: ShopStartYm, ShopOperTp별 매장건수
ROLLUP을 사용해 ShopStartYm별 중간합계와 전체 합계를 추가하시오.
BaseCd 테이블을 사용해 ShopOperTp의 명칭을 보여주시요.(ShopOperTpNm)
GROUPING을 사용해 합계인 경우에는 MemberGdNm을 Total로 보여주세요.
ShopStartYm ShopOperTpNm ShopCnt ----------- ------------ ------- 202001 Distributor 10 202001 Directly 9 202001 Total 19 202007 Distributor 27 202007 Directly 16 202007 Total 43 202008 Distributor 29 202008 Directly 18 202008 Total 47 Total Total 109
SQL
복사
풀이

BOOSTER QUIZ 10-2-3

2020년 1월과 2020년 2월 주문에 대해, ItemCat별, 주문년월별 주문수량을 보여주세요. ItemCat별 주문수량 합계와 전체합계도 추가해서 보여주세요.
대상 테이블: 주문(Ord), 주문상세(OrdDet), 상품(Item), 상품카테고리(ItemCat)
조회 조건: OrdDtm이 2020년 1월부터 2020년 2월말까지의 주문 데이터
조회 컬럼: ItemCatNm, OrdYm, SUM_OrdQty
추가 조건
ItemCat, OrdYm별 GROUP BY 처리하시오.
SUM_OrdQty: ItemCat, OrdYm별 주문수량(OrdQty) 합계
ROLLUP을 사용해 ItemCat별 중간합계와 전체 합계를 추가하시오.
GROUPING을 사용해 합계인 경우에는 합계 데이터는 Total로 보여주세요.
SQL에 GROUPING과 인라인-뷰, CASE를 적절히 사용합니다.
ItemCatNm OrdYm SUM_OrdQty --------- ------ ---------- Beverage 202001 80 Beverage 202002 113 Beverage Total 193 Bakery 202001 80 Bakery 202002 110 Bakery Total 190 Coffee 202001 218 Coffee 202002 298 Coffee Total 516 Total Total 899
SQL
복사
풀이

BOOSTER QUIZ 10-2-1

2020년 1월과 2020년 2월 주문에 대해, 상품카테고리별로 주문수량을 구해주세요. 2020년 1월 주문수량과 2020년 2월 주문수량을 각각의 컬럼으로 보여주세요.
대상 테이블: 주문(Ord), 주문상세(OrdDet), 상품(Item), 상품카테고리(Itemcat)
조회 조건: OrdDtm이 2021년 1월부터 2021년 2월까지의 주문 데이터
조회 컬럼: ItemCat, ItemCatNm, Qty_202001, Qty_202002
추가 조건
Qty_202001: OrdDtm이 2020년 1월 주문의 OrdQty를 SUM
Qty_202002: OrdDtm이 2020년 2월 주문의 OrdQty를 SUM
ItemCat별 Qty_202001과 Qty_202002를 각각 컬럼으로 보여주시오.
ItemCat ItemCatNm Qty_202001 Qty_202002 ------- --------- ---------- ---------- BEV Beverage 80 113 BKR Bakery 80 110 COF Coffee 218 298
SQL
복사
풀이

BOOSTER QUIZ 10-2-2

2021년 1월부터 2021년 3월까지의 주문에 대해, 주문년월별로 오전주문건수와 오후주문건수를 보여주세요.
대상 테이블: 주문(Ord)
조회 조건: OrdDtm이 2021년 1월부터 2021년 3월까지의 주문 데이터
조회 컬럼: OrdYm, 오전주문, 오후주문
추가 조건
OrdYm은 OrdDtm을 년월 형태로 변환한 값
OrdYm별 GROUP BY 처리하시오.
오전주문건수는 OrdDtm의 주문시간(DATE_FORMAT(T1.OrdDtm,'%H'))이 12시 이하인 주문
오후주문건수는 OrdDtm의 주문시간(DATE_FORMAT(T1.OrdDtm,'%H'))이 12시 초과인 주문
오전주문건수, 오후주문건수를 구하기 위해서는 GROUP BY ~ 집계함수(CASE) 패턴을 사용하시오.
OrdYm 오전주문 오후주문 ------ -------- -------- 202101 421 80 202102 312 298 202103 421 325
SQL
복사
풀이

BOOSTER QUIZ 10-2-3

[BOOSTER QUIZ 10-2-1]의 내용에서 오전주문, 오후주문을 기준축으로 처리하고 년월별 주문 건수가 컬럼으로 표시되도록 변경하시오.
대상 테이블: 주문(Ord)
조회 조건: OrdDtm이 2021년 1월부텉 2021년 3월까지의 주문 데이터
조회 컬럼: 주문구분, 주문_202101, 주문_202102, 주문_202103
추가 조건
주문구분은 주문시간에 따라 오전주문과 오후주문을 구분하는 항목
12시 이하인 경우 오전주문, 12시 초과 오후주문
주문구분별로 GROUP BY 처리하시오.
주문_202101은 2021년 1월에 발생한 주문 건수
주문_202102은 2021년 2월에 발생한 주문 건수
주문_202103은 2021년 3월에 발생한 주문 건수
주문_202101~주문_202103을 구하기 위해서는 GROUP BY ~ 집계함수(CASE) 패턴을 사용하시오.
주문구분 주문_202101 주문_202102 주문_202103 -------- ----------- ----------- ----------- 오전주문 421 312 421 오후주문 80 298 325
SQL
복사
풀이

BOOSTER QUIZ 10-3-1

NickNm이 Air와 Wind3인 회원의 2023년 1월 1일부터 2023년 1월 3일까지의 주문 금액 회원별+일자별로 보여주세요. 주문이 없는 날짜도 보이도록 처리해주세요.
대상 테이블: 회원(Member), 주문(Ord), 날짜(BaseDt)
조회 조건
NickNm이 Air, Wind3인 회원
OrdDtm이 2023년 1월 1일부터 2023년 1월 3일까지
조회 컬럼: OrdYmd, MemberId, NickNm, OrdAmt
추가 조건
주문이 없는 날짜의 데이터도 출력되도록 처리해주세요.
BaseDt와 Member 테이블을 크로스 조인해 분석 마스터 데이터 집합을 만들어 처리합니다.
OrdYmd MemberId NickNm OrdAmt -------- -------- ------ -------- 20230101 M0001 Air 4500.000 20230101 M0200 Wind3 0.000 20230102 M0001 Air 3000.000 20230102 M0200 Wind3 4500.000 20230103 M0001 Air 4500.000 20230103 M0200 Wind3 0.000
SQL
복사
풀이