В моей базе данных есть таблица ITEM_POWER, в которую входят ID #, READ_TIME и POWER_COUNT.
Каждый раз, когда элемент выключается, он увеличивает POWER_COUNT + 1 в таблице. Элемент может иметь 0 POWER_COUNT, если он никогда не выключается, или 1000 POWER_COUNT, если он выключен 1000 раз.
Я бы хотел отобразить элементы, у которых значение POWER_COUNT увеличилось на 1 в течение определенного периода времени по сравнению с POWER_COUNT за последний период времени.
В настоящее время мой запрос выглядит примерно так:
SELECT ID, READ_TIME, POWER_COUNT
FROM ITEM_POWER WHERE READ_TIME BETWEEN '31-MAR-19' and '05-APR-19'
AND POWER_COUNT > POWER_COUNT BETWEEN READ_TIME OF '24-MAR-19' AND '29-MAR-19'
GROUP BY ID, READ_TIME, POWER_COUNT
ORDER BY ID, READ_TIME, POWER_COUNT
Очевидно, я не верю, что моя строка "AND POWER_COUNT> POWER_COUNT МЕЖДУ READ_TIME OF '24 -MAR-19 'И '29 -MAR-19' сработает, это именно то, чего я пытаюсь достичь. Я хочу сравните power_counts этой недели по сравнению с прошлой неделей, и если power_count увеличился, я хочу отобразить READ_TIME и новый POWER_COUNT.
ОБРАЗЕЦ ДАННЫХ:
ID READ_TIME POWER_COUNT
------------ --------- -----------
1234567 09-MAR-19 121
1234567 10-MAR-19 121
1234567 11-MAR-19 121
1234567 12-MAR-19 121
1234567 13-MAR-19 123
1234567 14-MAR-19 130
В приведенных выше данных у ID 1234567 было увеличено значение POWER_COUNT со 121 до 123 в '13 -MAR-19 '. Для этого примера, скажем, я хотел бы сравнить POWER_COUNT между '13 -MAR-19 'и '14 -MAR-19' с POWER_COUNT в '12 -MAR-19 '. Поскольку POWER_COUNT с тех пор увеличился, я бы хотел, чтобы этот идентификатор отображался в моем отчете. Если значение POWER_COUNT не увеличилось по сравнению со значением предыдущей даты, я бы хотел исключить его.