无敌小贱 2013-04-20 17:47 采纳率: 0%
浏览 1576
已采纳

mysql统计登录次数或者在线时长

自然周内有3天登陆行为,或累计在线时长达到8小时以上
列名有lastLoginTime(登录时间),lastLogoutTime(退出时间)。这个东西怎么写啊?求大侠拔刀相助!!

  • 写回答

5条回答 默认 最新

  • Dead_Knight 2013-04-20 19:02
    关注

    自然周内有3天登陆行为,或累计在线时长达到8小时以上
    如果lastLoginTime(登录时间),lastLogoutTime(退出时间)这两个字段是在登录日志表中,那么查询sql为:
    1.自然周内有三天登录行为的:
    [code="java"]
    select weekNo,count(1) from (
    SELECT *,WEEK(lastLoginTime) weekNo FROM login_history
    ) t group by t.weekNo having count(1) > 3

    [/code]

    2.累计8小时:
    [code="java"]
    SELECT * FROM login_history WHERE TIMESTAMPDIFF(HOUR,lastLoginTime,lastLogoutTime) > 8
    [/code]

    如果不存在登录日志表,那么这两个字段根本没什么用处,仅仅知道上次登录时间、退出时间。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?