У меня проблема с раздвижным окном. в частности, я не знаю, где должно начаться мое окно и где оно должно закончиться. Я знаю размер моего интервала/окна.sql скользящее окно - открытие максимального значения за интервал
Мне нужно найти начало/конец окна, которое обеспечивает наилучший (или худший, в зависимости от того, как вы смотрите на него).
вот пример набора данных:
value | tstamp
100 | 2013-02-20 00:01:00
200 | 2013-02-20 00:02:00
300 | 2013-02-20 00:03:00
400 | 2013-02-20 00:04:00
500 | 2013-02-20 00:05:00
600 | 2013-02-20 00:06:00
500 | 2013-02-20 00:07:00
400 | 2013-02-20 00:08:00
300 | 2013-02-20 00:09:00
200 | 2013-02-20 00:10:00
100 | 2013-02-20 00:11:00
допустим я знаю, что мой интервал должен быть не менее 5 минут. поэтому мне нужно знать значение и временные метки, включенные в 5-минутный интервал, где сумма «значение» является самой высокой. в приведенном выше примере строки с «2013-02-20 00:04:00» до «2013-02-20 00:08:00» дадут мне сумму 400 + 500 + 600 + 500 + 400 = 2400 , что является самым высоким значением за 5 минут в этой таблице.
Я не против использования нескольких таблиц, если это необходимо. но я пытаюсь найти интервал «наилучшего случая». результаты могут идти в любом случае, до тех пор, пока они обрезают интервал. если я получаю все точки данных за этот интервал, он все равно работает. если я получу начальную и конечную точки, я тоже могу их использовать.
Я нашел несколько проблем с раздвижными окнами для SQL, но не нашел там, где размер окна является известным фактором, а отправная точка неизвестна.
Какие СУБД вы используете? –
Я использую postgres, и на данный момент у меня нет многих других опций. – jasonmclose
@jasonmclose: какая версия PosgreSQL? – Quassnoi