what's going on...? 2023-02-17 00:01 采纳率: 0%
浏览 134
已结题

SQL统计24小时重复登录

通过SQL获得如下图所示结果,计算重复登录的相关信息,登录流水系统自动生成不重复。

img


C

  • 写回答

11条回答 默认 最新

  • GISer Liu 2023-02-17 01:46
    关注

    假设T1表的结构如下:

    login_idlogin_time用户名
    12023-02-16 08:00:00用户1
    22023-02-16 09:00:00用户
    32023-02-15 23:30:00用户1
    42023-02-15 22:00:00用户3
    52023-02-15 15:00:00用户4
    62023-02-14 18:00:00用户2
    72023-02-14 12:00:00用户3

    下面是SQL代码:

    SELECT 
      T1.login_id, 
      T1.login_time, 
      T1.username
    FROM 
      T1 
      INNER JOIN (
        SELECT 
          username, 
          MAX(login_time) as latest_login_time 
        FROM 
          T1 
        GROUP BY 
          username 
      ) T2 
      ON T1.username = T2.username 
      AND T1.login_time = T2.latest_login_time 
      AND T1.login_time >= DATE_SUB(NOW(), INTERVAL 24 HOUR)
    

    以上SQL语句通过内部查询T1表中每个用户名的最新登录时间,然后将T1表和T2表连接,以获取最近登录的所有记录,且登录时间在最近的24小时内。这个查询将返回以下结果:

    login_idlogin_time用户名
    12023-02-16 08:00:00用户1
    22023-02-16 09:00:00用户2

    接下来,我们可以使用以下SQL语句来计算24小时内的重复登录信息:

    SELECT 
      T1.username, 
      COUNT(*) AS repeat_login_count, 
      GROUP_CONCAT(DISTINCT T1.login_id SEPARATOR ',') AS repeat_login_ids 
    FROM 
      T1 
      INNER JOIN (
        SELECT 
          username, 
          MAX(login_time) as latest_login_time 
        FROM 
          T1 
        GROUP BY 
          username 
      ) T2 
      ON T1.username = T2.username 
      AND T1.login_time = T2.latest_login_time 
      AND T1.login_time >= DATE_SUB(NOW(), INTERVAL 24 HOUR)
    GROUP BY 
      T1.username 
    HAVING 
      COUNT(*) > 1
    

    这个查询会返回在24小时内至少重复登录了一次的用户信息,其中包括用户名,重复登录次数以及登录的流水号,例如:

    用户名repeat_login_countrepeat_login_ids
    用户121,3
    用户222,6

    在这个例子中,user1和user2在最近的24小时内重复登录了2次,分别是1,3和2,6。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月21日
  • 创建了问题 2月17日

悬赏问题

  • ¥15 mySQL5.7.34安装遇到的问题
  • ¥15 结构功能耦合指标计算
  • ¥20 visual studio中c语言用ODBC链接SQL SERVER
  • ¥50 AI大模型精调(百度千帆、飞浆)
  • ¥15 非科班怎么跑代码?如何导数据和调参
  • ¥15 福州市的全人群死因监测点死亡原因报表
  • ¥15 Altair EDEM中生成一个颗粒,并且各个方向没有初始速度
  • ¥15 系统2008r2 装机配置推荐一下
  • ¥15 悬赏Python-playwright部署在centos7上
  • ¥15 psoc creator软件有没有人能远程安装啊