더북(TheBook)

5 선호도 분석 : 개인별 두 번째 선호 상품 분석

 

분석 16 전용 상품 매출 상위 10위 이상 고객이 두 번째로 선호하는 상품을 확인해 보세요.

추천 SQL : HAVING

 

SELECT *

 FROM (

       SELECT A.고객아이디,

              A.고객이름,

              D.product_name 상품명,

              SUM(C.sales) 상품매출,

              RANK() OVER(PARTITION BY A.고객아이디 ORDER BY SUM(C.sales) DESC) 선호도순위

     FROM

     (

          SELECT A.customer_id 고객아이디,

                 A.customer_name 고객이름,

                 SUM(C.sales) 전용상품_매출

          FROM customer A, reservation B, order_info C

          WHERE A.customer_id = B.customer_id

          AND B.reserv_no = C.reserv_no

          AND B.cancel = 'N'

          AND C.item_id = 'M0001'

          GROUP BY A.customer_id, A.customer_name

          HAVING SUM(C.sales) > = 216000----

     ) A, reservation B, order_info C, item D

     WHERE A.고객아이디 = B.customer_id

     AND   B.reserv_no = C.reserv_no

     AND   C.item_id = D.item_id

     AND   D.item_id <> 'M0001'----

     AND   B.cancel = 'N'

     GROUP BY A.고객아이디, A.고객이름, D.product_name

) A

WHERE A.선호도순위 = 1;

 

이미 전용 상품 상위 10위 고객의 매출이 216,000원 이상인 것을 알기 때문에('12.4.4 상위 고객 분석 : 상위 10위 고객 찾아내기' 참고) 일부러 HAVING 명령어를 사용했습니다. 물론 인라인 뷰에서 RANK 함수를 사용해도 됩니다.

전용 상품 매출 상위 10위 고객에 대해 전용 상품을 제외하고 출력하는 조건 때문에 전용 상품을 제외한 최대 매출 상품이 출력됩니다

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.