Выборка из MySql в диапазоне дат

164
31 декабря 2019, 07:50

есть таблица в формате

CREATE TABLE IF NOT EXISTS `statistic` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `id_user` int(11) NOT NULL,
  `id_org` int(11) NOT NULL,
  `id_driver` int(11) NOT NULL,
  `coins` int(11) NOT NULL,
  `data` bigint(20) NOT NULL,
  UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=20110 ;

сейчас делаю простую выборку из таблицы по ИД таким запросом

$result =  $connection->query("SELECT * FROM statistic WHERE `id_user`=".$users[$i]['id']);

И есть даты в диапазоне которых нужно сделать выборку к примеру 20-03-2019 29-03-2019

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

Дата в базе хранится в формате юникс метки.

Answer 1

Хранить дату лучше в формате datetime, но т.к. у вас числовой тип, то можно как-то так:

$from = strtotime('20-03-2019');
$to = strtotime('29-03-2019' . ' 23:59:59');
$result =  $connection->query("SELECT * FROM statistic WHERE `id_user`=".$users[$i]['id']
                              ." AND `data` >= {$from} AND `data` <= {$to}");
// Вариант 2
$result =  $connection->query("SELECT * FROM statistic WHERE `id_user`=".$users[$i]['id']
                              ." AND `data` BETWEEN {$from} AND {$to}");
READ ALSO
MySQL выбор кодировки

MySQL выбор кодировки

Всем привет, написал парсер для телеграм, который парсит информацию о каналах и все сообщения в нихСначала у меня была кодировка utf8general_ci

214
несколько carousel Bootstrap на странице

несколько carousel Bootstrap на странице

На странице есть 2 слайдера на чистом бутстрапе (без изменения js и прочего)Нужно чтобы оба слайдера перелистывались одновременно

197
Задать значение input.files

Задать значение input.files

Величайшие умы планеты, подскажите пожалуйста как можно задать значение методу files для inputИстория такова, что для загрузки фотографий на тестовый...

180
Разрыв строки при нажатии на Enter

Разрыв строки при нажатии на Enter

Форма работает на Ajax и отправка данных происходит при нажатии на Enter

169