如何查找连续登录日



我的数据库(MySQL 5.7.36(中有一个表,我试图找到连续的一天条件

如果连续的一天>7

连续的一天将设置为零

DATE_SERV2022-01-012022-01-022022-01-032022-01-052022-01-062022-01-092022-01-102022-01-11

我以前写过这篇文章,以为你使用的是MySQL 8.x(它支持窗口函数,不幸的是5.x不支持(。不管怎样,只要发布它,以防对其他人有用。。。


你可以从这个博客中调整跨越日期范围的差距和岛屿的方法。首先识别";"岛";或连续日期组

SELECT
DATE_SERV
, SUM( IF( DATEDIFF(DATE_SERV, Prev_Date) = 1, 0, 1) ) OVER(
ORDER BY DATE_SERV 
)  AS DateGroup_Num
FROM
(
SELECT DATE_SERV
, LAG(DATE_SERV,1) OVER (
ORDER BY DATE_SERV
) AS Prev_Date
FROM   YourTable
) grp

产生这种结果的原因:

日期组编号2022-01-0112022-01-022022-01-032022-01-052022-01-062022-01-092022-01-1032022-01-11

相关内容

  • 没有找到相关文章

最新更新