LEFT(login_time, 10) login_role_id 登陆角色id
2013-07-01 develop-1
2013-07-02 develop-1
2013-07-04 develop-1
2013-07-05 develop-1
2013-07-06 develop-1
2013-07-08 develop-1
2013-07-01 develop-2
2013-07-02 develop-2
2013-07-04 develop-2
2013-07-05 develop-2
2013-07-06 develop-2
2013-07-09 develop-2
这样的数据如何查询出他们连续的次数呢,比如连续 1天,2天,3天的,注意是连续,有或者用查出这样的数据用什么的算法可以搞出连续 1天,2天,3天这样的?
是否理解问题是获取某个人一段时间最长连续登陆的次数:
查询到某个人的一段时间的登陆记录列表,用一个简单的循环历遍即可。
伪代码:
Date maxDate = '2013-07-31';
Date minDate ='2013-07-01';
List records = {
'2013-07-01', '2013-07-02', '2013-07-04'
};
int maxDay=0;
int currentDay=0;
while(minDate < maxDate){
if(records.hasDate(minDate)){
currentDay++;
}else{
currentDay=0;
maxDay=max(maxDay, currentDay);
}
minDate++;
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。