я получил таблицу под названием «картинкой» со следующим содержанием:получить первую строку в час фактического дня
picID | Date | Time | pic | stationsID
1 22.02.2017 08:03:10 dadadjadadk 4
2 22.02.2017 08:13:10 ycycycycyc 4
3 22.02.2017 08:45:10 dagxhgdgwetk 4
4 22.02.2017 09:00:10 dadadjadadk 4
5 22.02.2017 09:03:10 asdasdasdyxcyw 4
6 22.02.2017 09:43:10 xvxvx 4
С помощью следующего запроса я получил результат я хочу - получить только первую строку в час от фактического дня:
select p.* from pictures p where p.Date = CURDATE() AND p.Time = (select min(p2.Time) from pictures p2 where p2.Date = p.Date and hour(p2.Time) = hour(p.Time) and p2.StationsID = 4);
1 22.02.2017 08:03:10 dadadjadadk 4
4 22.02.2017 09:00:10 dadadjadadk 4
Но мой запрос sql очень медленный. Любая идея, как оптимизировать мой запрос?
Совет: дата и время магазин как единое целое. И некоррелированный подзапрос, вероятно, будет быстрее, чем коррелированный. – Strawberry