중복제거 0 2 679

by 날아라! [MySQL] [2018.09.14 13:07:17]


-- 안녕하세요. 
-- 이틀전 통계관련 질문을 한번 드렸었는데요. 그에 관해 더 문의드릴께 있습니다.
-- 저번주와 이번주의 골프장시세의 평균을 내고 있는데요
-- 아래와 같이 스칼라서브쿼리를 통해 구현을 했습니다.
-- 문제는 한 골프장별 회원권의 시세가 몇개씩 있습니다.
-- 회원권별 평균시세를 내어 보고싶은데 회원권 수대로 전부 다보이네요
-- 중복제거 할수있는 방법에 대해 조언을 구하고자 합니다.
-- 쿼리부분도 잘못된 부분이 있으면 그 또한 조언부탁드릴께요

SELECT a.membership_name
     , (SELECT AVG(c.today_price)
          FROM sise c
         WHERE c.membership_name = a.membership_name
           AND c.today_date BETWEEN '20180905' AND '20180912'
         GROUP BY c.membership_name
        ) this_price
      , (SELECT AVG(c.today_price)
          FROM sise c
         WHERE c.membership_name = a.membership_name
           AND c.today_date BETWEEN '20180822' AND '20180829'
         GROUP BY c.membership_name
        ) y_price
 FROM sise  a
 LEFT OUTER JOIN membership b
    ON a.membership_name  = b.membership_name
 WHERE b.open != 'N'
   AND b.pcode <> ''
   AND a.membership_name <> ''
 ORDER BY a.membership_name ASC



 

by 우리집아찌 [2018.09.14 15:46:40]

회원권이 중복이 존재하나요? 

그럼 먼저 회원권 중복을 제거하고(INLINE VIEW 이용)  그뒤에 JOIN 걸면 되지않을까요?


by 날아라! [2018.09.14 15:59:07]

답변감사합니다.

말씀대로 골프장별 회원권은 다수입니다.

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입