서브쿼리가 사용가능하다면 쉽게 해결할수 있겠지만,
MySQL 4.X 버젼중에 서브쿼리를 사용할수 없는 하위 버전인 관계상 난해한 문제가 생겼습니다.
데이터는
Seq | ID | Point | Day
1 | a | 200 | 2008-08-25
2 | a | 200 | 2008-08-25
3 | b | 200 | 2008-08-25
4 | c | 200 | 2008-08-25
5 | a | 200 | 2008-08-26
6 | a | 200 | 2008-08-27
7 | a | 200 | 2008-08-28
8 | a | 200 | 2008-08-28
아래와 같이 존재하고 원하는 것은 중복된 데이터는 하나로 계산을 해야 합니다.
서브쿼리를 사용한다면
SELECT ID, SUM(Point) AS P FROM 테이블 WHERE Seq IN (SELECT Seq FROM 테이블 GROUP BY ID, Day) GROUP BY ID
해서
결과로
a = 1000
b = 200
c = 200
이렇게 값을 잡아와야 합니다.
어떻게 하면 될까요?? 쿼리를 두번 날려야 하는 것인가요??
|