하루에 한사람이 여러일을 처리하기도 하고, 여러사람이 여러일을 처리하기도 합니다.
누적인원수를 구해야 하는데, 좀 막막하네요.
--초기 데이타
테이블
날짜 |
사용자 |
결과 |
팀명 |
20090101 |
홍길동 |
1 |
A |
20090101 |
홍길동 |
2 |
A |
20090101 |
박재홍 |
3 |
B |
20090101 |
이만수 |
4 |
B |
20090101 |
홍길동 |
5 |
A |
20090101 |
박재홍 |
1 |
B |
20090102 |
원더걸스 |
2 |
C |
20090102 |
소녀시대 |
4 |
C |
20090102 |
홍길동 |
5 |
A |
20090102 |
이만수 |
1 |
B |
위와 같은 데이타가 있는데,
팀별 누적 인원수를 구하려고 합니다.
2009.01.01 하루치 데이타를 구하는건
SELECT 팀명, COUNT(DISTINCT 사용자), SUM(1)
SUM(CASE WHEN 결과='1' THEN 1 ELSE 0 END)
,SUM(CASE WHEN 결과='2' THEN 1 ELSE 0 END)
,SUM(CASE WHEN 결과='3' THEN 1 ELSE 0 END)
,SUM(CASE WHEN 결과='4' THEN 1 ELSE 0 END)
,SUM(CASE WHEN 결과='5' THEN 1 ELSE 0 END)
FROM 테이블
WHERE 날짜 ='20090101'
GROUP BY 팀명
팀명 |
인원수 |
건수 |
1 |
2 |
3 |
4 |
5 |
A |
1 |
3 |
1 |
1 |
0 |
0 |
1 |
B |
2 |
3 |
1 |
0 |
1 |
1 |
0 |
C |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
이렇게 구하면 되는데,
이틀치를 구하려면 어떻게 해야 할지 감이 안잡히네요.
200090101 ~ 20090102 까지의 데이타는
아래와 같이 인원수가 누적됩니다.
홍길동이 1일날 3건 처리하였고, 2일날 1건처리했으면, 이틀치는 총인원수는 2가 되야 합니다.
이런식으로 한달동안의 누적인원수를 구할려면 어떻게 해야 할까요?
팀명 |
인원수 |
건수 |
1 |
2 |
3 |
4 |
5 |
A |
2 |
4 |
1 |
1 |
0 |
0 |
1 |
B |
3 |
4 |
2 |
0 |
1 |
1 |
0 |
C |
2 |
2 |
0 |
1 |
0 |
1 |
0 |
|