mysql实战系列--查询最近连续日期的天数

it2026-02-18  7

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_date2020-10-202020-10-202020-10-192020-10-182020-10-182020-10-182020-10-142020-10-112020-10-10

返回结果为: 3

最新回复(0)