아래 쿼리로 하면 잘 나옵니다.
SELECT
COUNT(*) CNT,
SUM(F_MEMBER_CNT) F_MEMBER_CNT,
SUM(F_BOOKORDER_CNT) F_BOOKORDER_CNT,
SUM(F_BOOKORDER_PRICE) F_BOOKORDER_PRICE,
F_MOVIE_CNT F_MOVIE_CNT,
F_MOVIE_PRICE F_MOVIE_PRICE
FROM T_DAYSTATS_MST A
WHERE F_CLASS_IDX = 3
AND F_DATE LIKE SUBSTRING(convert(varchar(10), getDate()-1, 23), 0, 8) + '%'
group by f_movie_cnt, f_movie_price
근데 밑의 쿼리로 하면 결과는 나오긴 하는데 f_movie_cnt랑 f_movie_price가 이상한 값이 나옵니다.
SELECT
COUNT(*) CNT,
SUM(F_MEMBER_CNT) F_MEMBER_CNT,
SUM(F_BOOKORDER_CNT) F_BOOKORDER_CNT,
SUM(F_BOOKORDER_PRICE) F_BOOKORDER_PRICE,
sum(F_MOVIE_CNT) F_MOVIE_CNT,
sum(F_MOVIE_PRICE) F_MOVIE_PRICE
FROM T_DAYSTATS_MST A
WHERE F_CLASS_IDX = 3
AND F_DATE LIKE SUBSTRING(convert(varchar(10), getDate()-1, 23), 0, 8) + '%'
밑의 쿼리에는 sum만 추가했을 뿐인데... 위의 쿼리의몇배가 되는 숫자가 나옵니다.
어디가 잘못된건지 모르겠어요 ㅠㅠ
고수님들 도와주세요~~
Comment 2
-
쓸만한게없네(윤선식)
2013.05.27 22:19
-
형님
2013.05.28 14:52
그..그렇군요..
답변감사합니다. 해결했습니다.
"sum만 추가했을 뿐인데" 가 추가했을 뿐.. 은 아닙니다.
당연히 결과값이 다릅니다.
F_MOVIE_CNT, F_MOVIE_PRICE 를 기준으로 SUM을 한 것과
그러한 기준 없이 SUM을 한 것은 다른 결과가 나오는 것이 당연합니다.
아마 "위의 쿼리의 몇 배"는 같은 값만큼이 될 것입니다.
무조건 그 전 F_MOVIE_CNT, F_MOVIE_PRICE의 배수가 됩니다.