私のアルゴリズムは「ヒットカウンター」用です。同じ人が時間間隔で2回サイトに来た場合、同じ人を2回カウントしないようにしています(たとえば、5分間に2回来た場合、1としてカウントしたいです)この人に当たります)
これが私のデータベースの外観です
UserIp UserId Date of user came
127.0.0.1 new.user.akb 26.03.2010 10:15:44
127.0.0.1 new.user.akb 26.03.2010 10:16:44
127.0.0.1 new.user.akb 26.03.2010 10:17:44
127.0.0.1 new.user.akb 26.03.2010 10:18:44
127.0.0.1 new.user.akb 26.03.2010 10:19:44
127.0.0.1 new.user.akb 26.03.2010 10:20:44
127.0.0.1 new.user.akb 26.03.2010 10:21:44
127.0.0.1 new.user.akb 26.03.2010 10:22:44
127.0.0.1 new.user.akb 26.03.2010 10:23:44
私がする必要があるのは、時間間隔内に発生した上記の表から個別の UserIP の数を取得することです。たとえば、時間間隔を 5 分間に設定し、開始時刻を
26.03.2010 10:15:44
次に、10:15 から 10:20 までの間に 1 つの個別の値があり、10:20 から 10:23 までの間に 1 つの個別の値があるため、結果として 2 を取得します。
たとえば、間隔が 3 分の場合、返される結果は 3 になります