Всем доброго времени суток. Имеется таблица: {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 строк. Заранее благодарен.
@mistergalynsky в смысле статических? Не очень понимаю о чем Вы.
Я искренне считаю что логику приложения надо реализовывать средствами языка программирования.
Соответственно в коде вашего языка и реализуйте рассчет нужных параметров. Или я не понял о чем Вы?
SELECT * FROM `mytable`
WHERE
( DATE(`date`) BETWEEN DATE_SUB(CURDATE(),INTERVAL 7 DAY) AND CURDATE() )
AND
( TIME(`date`) BETWEEN "12:00:00" AND "13:00:00" )
@DmitriyEntelis А почему не рекомендуешь пользоваться SQL функциями? Их же для чего то придумали, наверное чтобы использовать. Или вы пытаетесь намекнуть о производительности?
@mistergalynsky Я искренне считаю что чем меньше логики находится в sql - тем оно лучше и проще в поддержке. Использование хранимых процедур со сложной логикой оправдано только в исключительных случаях исключительных проектов.
Тем более что как я написал выше - я не могу навскидку придумать безгеморойного способа для расчета первого и последнего дня недели из sql.