Я создал запрос, который возвращает подсчет количества строк (записей) за последние 31 день (на основе поля timestamp
) и также включает в себя предыдущие 31 день до этого периода, например.создать запрос, который возвращает оба.Теперь у меня есть следующий запрос:
SELECT
COUNT(*) OVER(ORDER BY datetime DESC RANGE BETWEEN 2678400000 PRECEDING AND CURRENT ROW) AS rolling_avg_31_days,
COUNT(*) OVER(ORDER BY datetime DESC RANGE BETWEEN 5356800000 PRECEDING AND CURRENT ROW) AS rolling_avg_62_days
FROM `p`
ORDER BY rolling_avg_31_days DESC LIMIT 1
И он возвращает некоторые данные, но не те данные, на которые я надеялся:
rolling_avg_31_days | rolling_avg_62_days
8,422,783 | 9,790,304
Если я запрашиваю ту же таблицу с помощью (Rolling62 дня):
SELECT COUNT(*) FROM `p`
WHERE datetime > UNIX_MILLIS(CURRENT_TIMESTAMP)-5356800000 AND datetime < UNIX_MILLIS(CURRENT_TIMESTAMP)-2678400000'
Я получаю значение 6,192,920
Я не уверен, что делаю неправильно.Любая помощь высоко ценится!