패스트 캠퍼스~ 패스트 팸퍼스~
bgm: 👨🏿🤝👨🏿메이플스토리👨🏿🤝👨🏿
🎈Congratulations on eunji job! 🎈
--1. DVD렌탈 시스템의 관리자는 고객별 매출 순위를 알고 싶다.
내가 관리자라고 생각을 해보며 야근 하기 싫은 다짐으로 고민해보자.
사진이 조금 옹졸 한데,
이 두가지의 table을 가지고 작업을 진행해야 한다.
데이터 보니, payment_id, customer_id 는 pk 이다.
SELECT a.customer_id , sum(a.amount) AS sum_amount
FROM payment a
GROUP BY a.customer_id
--고객별 합계가 나옴. 어떤 고객이 가장 많이 매출을 일으켰는지 알수 있다.
SELECT a.customer_id , row_number() OVER (ORDER BY a.sum_amount desc) customer_rank, a.sum_amount
FROM
( SELECT customer_id , sum(amount) AS sum_amount
FROM payment
GROUP BY customer_id
) a
ORDER BY customer_rank;
-- 고객별 매출 순위를 매겨줌.--
--테이블을 새로 생성해줌. CTAS 기법 사용!!
:CTAS란?
CREATE TABLE AS SELECT 의 약자임!
CREATE TABLE customer_rank AS
SELECT a.customer_id , row_number() OVER (ORDER BY a.sum_amount desc) customer_rank
FROM
( SELECT customer_id , sum(amount) AS sum_amount
FROM payment
GROUP BY customer_id
) a
ORDER BY customer_rank;
-- 고객별 매출 순위를 매겨줌.--
SELECT *FROM customer_rank;
'DB > postgres' 카테고리의 다른 글
postgresql - dvdrental 실습(6) (0) | 2021.03.11 |
---|---|
postgresql - dvdrental 실습(5) (0) | 2021.03.10 |
postgresql - dvdrental 실습(4) (0) | 2021.03.09 |
postgresql - dvdrental 실습(3) (0) | 2021.02.25 |
postgresql - dvdrental 실습(2) (0) | 2021.02.24 |
postgresql - dvdrental 실습(1) (Roll-up) (0) | 2021.02.24 |