월별 주문 수 추출하기
우선, 주문관련 데이터가 누적되는 shop_order 테이블에 어떤 컬럼들이 있는지 살펴본다.
SELECT * FROM 주문테이블
여러 컬럼들 중
주문번호, 주문날짜 및 시간, 주문 상태
이 세 칼럼이 필요할 것 같다.
월별 주문 수 추출 쿼리문
SUBSTRING 함수 사용법👀
월별 주문수 구하기 위해
월별로 GROUP BY 가 필요!
날짜 및 시간 컬럼에서 yy-mm 까지만 잘라서 사용! (SUBSTRING 함수로)
SUBSTRING (od_receipt_time,1,7) AS "YY-MM"
ㄴ od_receipt_time 컬럼에서 1번째 문자열부터 7개까지만 사용하겠다.
이 컬럼명은 yy-mm 으로 명명 한다.
COUNT(od_id) AS od_count
ㄴ od_id 주문번호 몇개인지 카운팅하고, 이름은 od_count로 명명
WHERE od_receipt_time is NOT NULL
ㄴ od_receipt_time 주문시간 컬럼이 NULL 이 아닌 것만 보겠다.
AND od_receipt_time NOT LIKE '2022%'
ㄴ 주문일은 2021 까지만 보겠다.
( 2022년 2월에 쿼리문 돌린경우 이렇게 조건 걸어줘도 됨. 쿼리문 작성할 때가 2023년 이라면, 위 조건문 결과가 2022년 만 빼고 2022년 전, 2022년 후 데이터가 다 나올 것임. 이런 경우 BETWEEN으로 날짜 지정해줘야함)
GROUP BY SUBSTRING(od_receipt_time,1,7)
ㄴ 주문일 기준으로 GROUP BY
ORDER BY "YY-MM" DESC;
ㄴ 주문일 기준으로 내림차순 정렬
AWS Redshift 에서는 쿼리 결과 데이터를 간단한 차트로도 볼 수 있다.
일별 주문 수 추출하기
월별 주문수 구하는 방법과 비슷~~ 하다
SUBSTRING 으로 년,월,일 까지 자르고 그 컬럼으로 GROUP BY
WHERE od_status = '완료' -> 배송완료된 상태의 주문만
AND od_receipt_time BETWEEN '2018-01-01 00:00:00' AND '2018-12-31 23:59:59'
ㄴ 2018년 1년간의 데이터만 추출
( *참고 : 캡쳐화면은 AWS Redshift 화면이며 postgreSQL 기반입니다. )
유사한 글 >
https://devfairy.tistory.com/2?category=854309
'IT > SQL' 카테고리의 다른 글
[AWS] Redshift 는 PostgreSQL을 기반으로 한다 (0) | 2022.03.04 |
---|---|
[SQL예문] 신규주문 / 재주문 회원수 구하기 (ft. CASE WHEN , 서브쿼리) (4) | 2022.03.03 |
[MySQL] ALTER TABLE (ADD, DROP, RENAME,MODIFY) (0) | 2022.02.03 |
[MySQL] 테이블 컬럼 정보 보기 DESCRIBE (DESC) (0) | 2022.02.03 |
[MySQL] 테이블 컬럼 값 생성, 수정, 삭제 (CREATE, UPDATE, DELETE) (0) | 2022.02.03 |
댓글