Недельное вычисление MySQL между двумя датами

Ваш запрос собирает много данных, поэтому можно ожидать, что он будет медленным.

Последовательное сканирование на order является самым быстрым методом, потому что вам нужна половина строк в таблице.

В целом, PostgreSQL должен прочитать более миллиона блоков, чтобы вычислить результат и обработать все эти данные, поэтому три минуты неплохие.

Я сомневаюсь, что этот запрос можно сделать быстрее.

17
задан Cœur 10 December 2017 в 07:49
поделиться

1 ответ

DATEDIFF(@date1, @date2)/7

, который возвращает дробь, которую, я предполагаю, вы захотите каким-то образом округлить с помощью CEIL () , ROUND () или FLOOR ()

Мой тестовый пример с двумя определенными датами:

SELECT FLOOR(DATEDIFF(DATE(20090215), DATE(20090101))/7);
31
ответ дан 30 November 2019 в 12:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: