2022-01-01 2022-01-02 2022-01-03 2022-01-05 2022-01-06 2022-01-09 2022-01-10 2022-01-11
2022-01-01 1 2022-01-022022-01-032022-01-052022-01-062022-01-092022-01-10 3 2022-01-11
我的数据库(MySQL 5.7.36(中有一个表,我试图找到连续的一天条件
如果连续的一天>7
连续的一天将设置为零
DATE_SERV我以前写过这篇文章,以为你使用的是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
产生这种结果的原因:
日期组编号