У меня есть таблица с 2 столбцами
+---------+------------+
| symbol | ts |
+---------+------------+
| 1 | 1524696300 |
| 1 | 1524697200 |
| 1 | 1524698100 |
| 1 | 1524699000 |
| 1 | 1524699900 |
| 1 | 1524700800 |
| 1 | 1524701700 |
| 1 | 1524702600 |
| 1 | 1524703500 |
| 1 | 1524704400 |
| 1 | 1524705300 |
| 1 | 1524706200 |
| 2 | 1524697200 |
| 2 | 1524698100 |
| 2 | 1524699000 |
| 2 | 1524699900 |
+---------+------------+
Я хочу удалить более 10 строк в каждой группе, каждая строка разделена 900 секундами и может иметь разные значения меток времени в первой и последней строке, но разница 900 остается постоянной
Я пробовал этот запрос
sqlite> select * from ohlc2 where ts < (select max(ts) from ohlc2) - 8100;
Он работает только для таблицы в целом, а не для каждой группы, поэтому, если у моего элемента 1 и 2 разные начальные и конечные метки времени, описанный выше метод не будет работать
Я получаю сообщение об ошибке в этом запросе, которое я пытался сейчас
sqlite> with m as (select symbol, max(ts) from ohlc2 group by symbol) select * from ohlc2 where symbol = m.symbol and ts < m.max - 8100;
Как удалить все строки старше 10 временных отметок на группу?