SELECT 两个日期之间有 3 个连续条目的第一个日期

SELECT the first date in which 3 consecutive entries are between two dates

我想知道两个日期之间的前 3 个连续条目的第一个日期。根据我的 SQLFiddle,我希望输出为“2021-01-24”。

我看过很多示例,但无法让它们发挥作用。

此查询未按我希望的方式运行,我无法找出查询中缺失的部分。这是 SQLFIDDLE:http://sqlfiddle.com/#!9/935fbd/1

SELECT DISTINCT
    logDate
FROM
    FoodLog
WHERE
    studentID = '1329' AND logDate BETWEEN '2021-01-01' AND '2021-05-01'
GROUP BY
    logDate
HAVING
    COUNT(logDate) = 3

我试过使用以下方法,但无法弄清楚如何将搜索限制为 studentID='1329' 或我的日期范围:

SELECT DISTINCT
    f.id,
    f.logDate
FROM
    FoodLog f,
    (
    SELECT
        f1.logDate START,
        f2.logDate NEXT
    FROM
        FoodLog f1,
        FoodLog f2
    WHERE
        f2.logDate <= DATE_ADD(f1.logDate, INTERVAL 1 DAY) AND f2.logDate > f1.logDate
) f2
WHERE
    f.logDate = f2.start OR(
        f.logDate = f2.next AND f2.start IS NOT NULL
    )
LIMIT 1
WITH
cte1 AS ( 
    SELECT DISTINCT logDate
    FROM FoodLog
    WHERE logDate BETWEEN '2021-01-01' AND '2021-05-01'),
cte2 AS (
    SELECT logDate, LEAD(logDate, 2) OVER (ORDER BY logDate) next2date
    FROM cte1
)
SELECT MIN(logDate) logDate 
FROM cte2 
WHERE DATEDIFF(next2date, logDate) = 2;

fiddle