我想知道用户登录服务的历史记录。 我只想查看用户每天,每周和每月登录的频率。
当前,用户ID和连接时间存储在数据库表中。
不必要的太长行。
如果还有其他好的方法,请参考它。
感谢您的关注。
答案 0 :(得分:1)
一种假设语言的解决方案:
您必须为每个用户保留两个数据项:
TimeStamp firstLoginOf(user_id) : returns time stamp of first login for given user
Integer totalLoginsOf(user_id) : returns total number of logins for given user
数据必须存储在由user_id索引的文件或数据库中。 每当相应的用户登录时,登录总数就会增加。
然后您可以按以下方式计算所需数据:
Float loginsPerDay(user_id) {
return totalLoginsOf(user_id) / asDays( now() - firstLoginOf(user_id) )
}
Float loginsPerWeek(user_id) {
return totalLoginsOf(user_id) / asWeeks( now() - firstLoginOf(user_id) )
}
Float loginsPerMonth(user_id) {
return totalLoginsOf(user_id) / asMonths( now() - firstLoginOf(user_id) )
}