开发者社区> 问答> 正文

mysql中如何查询连续的次数?

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天这样的?

展开
收起
落地花开啦 2016-02-14 18:10:14 3719 0
1 条回答
写回答
取消 提交回答
  • 是否理解问题是获取某个人一段时间最长连续登陆的次数:
    查询到某个人的一段时间的登陆记录列表,用一个简单的循环历遍即可。

    伪代码:
    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++;
    }

    2019-07-17 18:42:51
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像