Я заметил, что в моей таблице есть несколько избыточных значений, которые необходимо очистить, это таблица, в которой записываются изменения цены, поэтому я бы хотел очистить следующим образом:
product | price | date
------------------------
1 | 1 | 1
1 | 1 | 2
1 | 1 | 3
1 | 1 | 4
2 | 77 | 5
1 | 1 | 6
1 | 2 | 7
1 | 2 | 8
1 | 1 | 9
1 | 1 | 10
1 | 1 | 11
1 | 1 | 12
1 | 3 | 13
К этому:
product | price | date
------------------------
1 | 1 | 1
2 | 77 | 5
1 | 2 | 7
1 | 1 | 9
1 | 3 | 13
Также предположим, что в этом случае столбец id
совпадает с date
.
SELECT DISTINCT ON (product, price)
не будет работать, поскольку он игнорирует либо product
1
изменение в день 9
или 1
, проблема в том, что я хочу сгруппировать по product
, price
, но только через определенные промежутки времени в соответствии с соответствующими изменениями по date
.
Даже если можно заказать product
, трудно игнорировать date
и price
порядок изменения.
Цель состоит в том, чтобы удалить все идентификаторы, которые не входят в предполагаемую таблицу результатов. .
У кого-нибудь есть предложения?