SQL – извлечение дат в диапазоне, охватывающем несколько летPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 SQL – извлечение дат в диапазоне, охватывающем несколько лет

Сообщение Anonymous »

В базе данных MySQL (версия 5.7.44) у меня есть несколько записей (>30 000), из которых я хочу выполнить поиск в заданном диапазоне дат.
Целевым столбцом является поле даты с именем ' data» в формате «Г-мм-дд» в таблице «Посещения».
Мое приложение отправляет функции PHP 2 СТРОКИ в одном и том же формате (т. е. 2023-05-01 и 2024-05-01).
Это вырезанный код моей функции PHP:

Код: Выделить всё

$sDate = $_GET['start'];    //2023-05-01
$eDate = $_GET['end'];      //2024-05-01

$start = date('Y-m-d', strtotime($sDate)); //check OK with echo
$end = date('Y-m-d', strtotime($eDate));  //check OK with echo

$query = "SELECT data FROM Visits WHERE
data BETWEEN '".$start."' AND '".$end."' GROUP BY MONTH(data) ORDER BY data ASC";
Запрос выполняется почти хорошо, но я получаю строки только за первый год (2023 г.) и ничего за месяцы 2024 г.
Я подозреваю, что предложение BETWEEN является источник проблемы.
Что я делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/790 ... iple-years
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»