아래와 같은 테일블을 생성 하였습니다.
CREATE TABLE `login_log` (
`idx` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`user_regist_date` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`insert_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`update_date` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`delete_date` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`idx`),
KEY `login_log_mix1` (`user_regist_date`,`insert_date`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
위 테이블 데이터에서 수집해야 할 데이터는
1. 30일간 `user_id`의 유저가 1일단위로 몇일간 연속으로 로그인을 했는지의 카운트
2. 특정 범위의 기간 내 포함 되는 계정 생성일(user_regist_date) 카운트, 기간 내 일 단위 로그인 횟수
예) 조건 : 2011.10.01 ~ 2011.11.30
출력
년/월/일 계정생성 수 1일후 접속횟수 2일후 접속횟수 3일후 접속횟수.....
2011/11/30 200 120 150 100
2011/11/29 100 50 10 0
계정을 생성한 유저가 1일 단위로 몇명이 접속을 했는지 통계를 알고 싶습니다..
예를들어 2011/11/30일 200면이 계정을 생성 했으면 200면의 유저중 2011/11/30일에서 하루 지난날 몇명의 유저가 로그인을 했는지..
2일이 지난날,, 3일이 지난날,, 4일이 지난날,,, 60일이 지난날,,,
머리 싸매고 쿼리문을 만들어 보고 있지만..
쉽지가 않네요..
쿼리 만으로 위 통계를 내는게 과연 가능할지도 싶고..
여러 고수님의 도움 부탁 드립니다..
감사합니다 |