连续登陆天数的查询sql

moon0312 2013-12-13 02:24:10
举个例子:一张log表,role_id,login_time
设定比如1号到7号,某人在这7天内连续登陆的最大天数。
例如1号-2号有登陆,3号没有登陆,然后4567连续四天登陆,那么最大是4天,这天数能查询出来么?

...全文
353 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
rucypli 2013-12-13
  • 打赏
  • 举报
回复
意思就是按照人和差值分组 id和date(logintime)差值一样就代表是连续的
moon0312 2013-12-13
  • 打赏
  • 举报
回复
引用 1 楼 rucypli 的回复:
需要有一个自增id列的中间表来做过渡统计 类似以下思路 create table tmp(id int not null auto_increment primary key,role_id,login_time) insert into tmp(role_id,login_time) select * from log order by role_id,logintime; select role_id,logintime-id,count(*) from tmp group by role_id,logintime-id
能详细点么,我知道是弄一个类似于row_number()的临时表,这个查询做出来不对。。
moon0312 2013-12-13
  • 打赏
  • 举报
回复
logintime-id?这是什么意思?
rucypli 2013-12-13
  • 打赏
  • 举报
回复
需要有一个自增id列的中间表来做过渡统计 类似以下思路 create table tmp(id int not null auto_increment primary key,role_id,login_time) insert into tmp(role_id,login_time) select * from log order by role_id,logintime; select role_id,logintime-id,count(*) from tmp group by role_id,logintime-id

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧