@mistergalynsky

Как написать запрос на выборку данных по времени?

Всем доброго времени суток. Имеется таблица: {id, temperature, humidity, date}. В ней хранится температура, влажность и дата + время (тип datetime). Причем, в таблицу данные о погоде сохраняются каждый час. Пример: {"id" => 1, "temperature" => 26, "humidity" => 45, "date" => "2014-10-16 12:00:00"}. Помогите написать запрос который бы вернул данные о погоде и влажности в диапазоне времени от 12:00:00 до 13:00:00 за неделю. Диапазон потому что точности прям такой нет, программа может записать данные и в 12:00:05. Должно быть 7 строк. Заранее благодарен.
  • Вопрос задан
  • 2681 просмотр
Решения вопроса 1
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
SELECT * FROM `mytable`
WHERE
 ( DATE(`date`) BETWEEN "2014-10-13" AND "2014-10-19" )
  AND
 ( TIME(`date`) BETWEEN "12:00:00" AND "13:00:00" )


От себя добавлю что лучше не называть поле date, т.к date это служебное слово.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
bejoy
@bejoy
Вам поможет TIMEDIFF

SELECT TIMEDIFF('2000:01:01 00:00:00', '2000:01:01 00:00:00.000001');

Определение порядка - ORDER BY `field_name` [ASC|DESC];
Ограничение на вывод - LIMIT [y,]x;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы