안녕하십니까? 접속자 이름별 상세 통계를 뽑으려고 하는데요
생각처럼 잘 되지 않아서 고수님들께 도움을 요청하고자 이렇게 글 올립니다.
제발 도와주세요..ㅜㅜ 벌써 일주일 째 입니다.
일단 테이블은 한개 입니다.
테이블 명 accepted
필드는 name, src, vtm, cnt, detecdate
뽑으려는 모양은
name src vtm cnt total_cnt
홍길동 1.1.1.1 10.10.10.10 100 180
10.11.11.11 60
10.12.12.12 20
1.2.2.2 11.10.10.10 90 170
11.11.11.11 50
11.12.12.12 20
1.3.3.3 12.10.10.10 70 130
12.11.11.11 40
12.12.12.12 20
추노 2.2.2.2 100.100.100.100 90 120
101.101.101.101 20
102.102.102.102 10
2.3.3.3 111.111.111.111 80 100
122.122.122.122 30
133.133.133.133 20
{이하 중략}
이렇게 하여 top 10 명에 관해서 데이터를 뽑으려고 합니다.
생각처럼 잘 되지 않아서 글 올립니다.
지금까지 짠 쿼리는
select a.name, b.src, a.cnt, b.cnt
from(
select name, sum(cnt) cnt
from accepted
where detectdate >= str_to_date('20100101 000000','%Y%m%d %H%i%s')
and detectdate <= str_to_date('20100131 235959','%Y%m%d %H%i%s')
group by name
order by cnt desc
limit 10
) a left join (
select name, src, sum(cnt) cnt
from accepted
where detectdate >= str_to_date('20100101 000000','%Y%m%d %H%i%s')
and detectdate <= str_to_date('20100110 235959','%Y%m%d %H%i%s')
group by name, src
order by cnt desc
) b on a.name = b.name;
이렇게 됩니다.
고수님들의 가르침이 필요 합니다..ㅜㅜ
진심으로 부탁드립니다.
감사합니다(__) |