메뉴 건너뛰기

infra

[mysql] union 으로 sum of sum 구하기

suritam92013.10.24 09:55조회 수 3076댓글 0

    • 글자 크기

아래처럼 한다. tbl.nr 에 sum(cash_mony) 라는 필드명을 쓰면 또 sum이 반영되기 때문에, 명령으로 쓰면 안 되고 해당 컬럼 이름을 변경해 줘야 한다. 내부 쿼리(서브 쿼리)는 tbl 이라는 테이블이 되고, sum(cash_mony)는 nr 이라는 컬럼으로 대체된다. 그러면, tbl.nr 을 sum 해주므로, 아래와 같이 최종 값을 구할 수 있다.


cate가 다른 세 값을 구하려 or 구문을 썼는데, 이상한 값이 나와서, 찾아봤다.


해킹에만 union을 쓸 줄 알았는데, 유용하게 쓰게 되었다. 이젠 union을 해킹에 쓸 수 없을 정도로 방어가 되었기 때문에, 본연의 기능으로 돌아가는 것이다.


SELECT SUM( tbl.nr ) AS nr
FROM (


SELECT SUM( cash_mony ) AS nr
FROM exp
WHERE `cate` = '1001' AND `reg_date` 
BETWEEN '20131001' AND '20131031'
UNION SELECT SUM( cash_mony ) AS nr
FROM exp
WHERE `cate` = '1002' AND `reg_date` 
BETWEEN '20131001' AND '20131031'
UNION SELECT SUM( cash_mony ) AS nr
FROM exp
WHERE `cate` = '1003' AND `reg_date` 
BETWEEN '20131001' AND '20131031'

) AS tbl



suritam9 (비회원)
    • 글자 크기
[WIN] DisableCMD 로 쉘 접속 막기, 사용자 그룹 추가 삭제 (by suritam9) [아이폰] 사파리에서 meta 태그를 이용해 주소창, 버튼 가리기 + slider (by suritam9)

댓글 달기

lispro06
2013.12.11 조회 2315
suritam9
2013.09.05 조회 3486
suritam9
2013.05.05 조회 4053
suritam9
2012.10.04 조회 2511
suritam9
2012.07.06 조회 2482
suritam9
2012.07.06 조회 3379
박영식
2012.03.24 조회 2284
이전 1 2 3 4 5 6 7 8 9 10... 12다음
첨부 (0)
위로