У меня есть такие данные:
+-----+--------+---------+-------+--+
| row | object | date | size | |
+-----+--------+---------+-------+--+
| 1 | 17 | 19.6.3 | 6 ** | |
| 2 | 17 | 19.5.2 | 5 * | |
| 3 | 17 | 19.1.1 | 3 | |
| 4 | 17 | 18.6.6 | 5 ** | |
| 5 | 17 | 17.4.4 | 4 | |
| 6 | 88 | 19.3.12 | 2 | |
+-----+--------+---------+-------+--+
Строка и звездочки только для этого вопроса.
Мне удалось вычислить предыдущую дату и предыдущий размер для каждой строкивнутри объекта с использованием функции задержки (поэтому для строки 1 предыдущая дата = 19.5.2, предыдущий размер = 5).
(хотя эти значения не хранятся в БД.)
Теперь яхотите сделать что-то вроде следующего псевдокода:
Для объекта:
, если размер увеличился с предыдущей даты (для данных приведенного выше примера, true для строк 1, 2, 4) (легко вычислить)
Текущий размер, который не встречался до даты этой строки (true для строк 1 и 4), затем установите Flag = true для этой строки.(Вот где я застрял)
Я думал, что SUBQUERY и / или окно ROWS UNBOUNDED FOLLOWING могло бы помочь, но не знаю, с чего начать.
TIA!