SELECT COUNT(*)+1 FROM(
SELECT action_date
FROM table1, (SELECT @max_date := "") AS a
WHERE ? # 根据实际情况自行补全查询条件
HAVING IF(
TO_DAYS(IF(@max_date < action_date, @max_date := action_date, @max_date)) - TO_DAYS(action_date) = 1,
TO_DAYS(@max_date := action_date) DIV TO_DAYS(action_date), 0
) > 0
ORDER BY action_date DESC
) AS t
比如
action_date |
---|
2020-10-20 |
2020-10-20 |
2020-10-19 |
2020-10-18 |
2020-10-18 |
2020-10-18 |
2020-10-14 |
2020-10-11 |
2020-10-10 |
返回结果为: 3