Мне нужно удалить избыточность в исторических данных журнала.Поэтому, учитывая следующую таблицу:
--------------------------------------
| entity_id | action | date |
--------------------------------------
| 1 | 'A' | 2018-01-01 |
|x 1 | 'A' | 2018-01-01 |
| 1 | 'B' | 2018-01-01 |
| 1 | 'A' | 2018-01-02 |
| 8 | 'A' | 2018-01-02 |
|x 1 | 'A' | 2018-01-03 |
|x 8 | 'A' | 2018-01-04 |
|x 1 | 'A' | 2018-01-05 |
| 1 | 'B' | 2018-01-05 |
--------------------------------------
Я хочу удалить те, которые (x).Короче говоря, я хотел бы игнорировать любые строки с тем же действием, которое предпринял объект впоследствии.Поэтому я хотел бы запрос, который возвращает следующий результат
--------------------------------------
| entity_id | action | date |
--------------------------------------
| 1 | 'A' | 2018-01-01 |
| 1 | 'B' | 2018-01-01 |
| 1 | 'A' | 2018-01-02 |
| 8 | 'A' | 2018-01-02 |
| 1 | 'B' | 2018-01-05 |
--------------------------------------
Программно, эти избыточности легко удалить, но с чистым SQL я немного растерялся.Как справится с этим кто-то, достаточно разбирающийся в SQL-запросах?
Спасибо
edit: В основном, для сущности 1 последовательность действий в журнале равна A->A->B->A->A->A->B
, я хотел бы выбратьвозвращает строку с этими действиями A->B->A->B