Прокрутка мин / макс в SQL Запрос? - PullRequest
0 голосов
/ 28 апреля 2020

Ядром базы данных является SQLite3. Это простая таблица:

CREATE TABLE T (ID INTEGER, STRING DATE, VALUE NUMERI C);

- строки T:

id date       value
1  2020-01-01 11
2  2020-01-01 23
3  2020-01-01 32
4  2020-01-01 41
5  2020-01-01 57
6  2020-01-01 62

How я могу создать скользящий мин / макс? Скажем, период 3:

id date       val   min3 max3
1  2020-01-01 11    11   11
2  2020-01-01 23    11   11
3  2020-01-01 32    11   32
4  2020-01-01 41    23   41
5  2020-01-01 57    32   57
5  2020-01-01 62    41   62

Я продолжаю получать мин. 11, Макс. 62 за все, потому что я не знаю, как это делать, мин / макс.

1 Ответ

0 голосов
/ 28 апреля 2020

Вы можете использовать оконные функции:

select t.*,
       min(val) over (order by date rows between 2 preceding and current row) min3,
       max(val) over (order by date rows between 2 preceding and current row) max3
from t;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...