Я видел несколько похожих вопросов, которые я не смог использовать, чтобы завершить мой запрос:
У меня много часовых прогнозных данных, и каждый час приходит новый прогноз, и все они прогнозируются с сегодняшнего дня и на пару дней вперед. Моя цель - создать запрос (для использования в виде), который дает мне прогнозные данные из последнего прогноза на каждый день (дата и час).
FDate = прогнозируемая дата
FHour = прогнозируемый час
RDate = Прогноз даты сделан
RHour = Часовой прогноз сделан
Мой стол:
FDate FHour Value RDate RHour
2018-09-02 10 99 2018-09-02 9
2018-09-02 10 82 2018-09-02 8
2018-09-02 10 86 2018-09-01 20
В этом примере я хочу только первую строку, потому что это самый новый прогноз.
Я пришел с запросом, который дает мне прогнозные данные за последнюю дату, когда был сделан прогноз, но не за последний час.
SELECT t.FDate, t.FHour, t.Value, t.RDate, t.RHour
FROM MyTable t
INNER JOIN (
SELECT FDate, MAX(RDate) As MaxDate
FROM Mytable
GROUP BY FDate) tm t.FDate = tm.FDate AND t.RDate = tm.MaxDate
Я пытался включить MAX (RHour) в запрос, но он дает мне только более ранние даты, чем сегодня, и самую последнюю дату в прогнозе, а не один раз между ними. Пример: вчера и ранее, а затем 2018-09-10, который является последним днем в прогнозе, он не даст мне 2018-09-06 и так далее.
Результат моего запроса:
FDate FHour Value RDate RHour
2018-09-02 10 99 2018-09-02 9
2018-09-02 10 82 2018-09-02 8
Опять моя цель - вернуть только первую строку.