Я застрял в попытке настроить SQLitequery следующим образом: значение в строке максимальной отметки времени - значение в строке минимальной отметки времени в группе (скажем, месяц)
Цель - проанализироватьПотребляемая мощность месяц за месяцем. Данные хранятся каждые 10 минут в формате ниже.
Давайте рассмотрим пример данных
ts|i|p|base
2019-10-28 07:10:00|0|103|75526
2019-10-28 07:20:00|0|114|75535
2019-10-28 07:30:00|1|141|75550
2019-10-28 07:40:00|1|203|75575
2019-10-28 07:50:00|1|203|75575
2019-10-28 08:00:00|1|203|75575
...
2019-10-28 15:30:00|1|144|79397
2019-10-28 15:40:00|1|127|79414
2019-10-28 15:50:00|0|113|79427
2019-10-28 16:00:00|0|106|79437
2019-10-28 16:10:00|0| 99|79443
2019-10-28 16:20:00|0| 96|79445
2019-10-28 16:30:01|0| 96|79446
И так далее для каждого дня
Для выполнения моего запроса я могу опираться только на метку времени. Даже если счетчик счетчиков постоянно увеличивается ... они изменили мой измеритель мощности, таким образом сбросив индекс! Так что max (base) -min (base) не работает.
Мне нужно взять базу для группы max (ts) - min (ts) по месяцам или что-то в этом роде.
Ближайший результат, который я получил, с этим запросом:
SELECT ts, base
FROM (
SELECT *,
row_number() OVER (PARTITION BT strftime('%Y-%m',ts) ORDER BY ts) mindate,
row_number() OVER (PARTITION BY strftime('%Y-%m',ts) ORDER BY ts desc) maxdate
FROM production
)
WHERE mindate = 1 or maxdate = 1;
Результат многообещающий, но теперь мне нужно вычислить разницу между базой в начале месяца и базой в конце месяца:
2019-01-01 00:00:01|29965948
2019-01-31 23:50:03|30093483
2019-02-01 00:00:04|30093483
2019-02-28 23:50:01|30361964
2019-03-01 00:00:01|30361964
2019-03-31 23:50:03|30722196
2019-04-01 00:00:01|30722196
2019-04-30 23:50:01|31078498
2019-05-01 00:00:01|31078498
2019-05-31 23:50:01|31497672
2019-06-01 00:00:03|31497672
2019-06-30 23:50:04|31904803
2019-07-01 00:00:01|31904803
2019-07-31 23:50:01|32327794
2019-08-01 00:00:01|32327794
2019-08-31 23:50:01|32730907
2019-09-01 00:00:01|32730907
2019-09-30 23:50:03|33077020
2019-10-01 00:00:04|33077020
2019-10-30 14:40:01|97317
Спасибо за вашу поддержку!