Мне нужно избавиться от строк, которые имеют одинаковое значение только в определенных столбцах. Например, в приведенном ниже примере я хотел бы выбрать все строки, кроме последней, которая равна второй-последней строке для столбцов CODE, START_DATE и TYPE (это означает игнорирование значения для столбца END_DATE).PostgreSQL выбирает строки с одинаковыми столбцами
code | start_date | end_date | type
---------------+----------------+--------------+------
C086000-T10001 | 2014-11-11 | 2014-11-12 | 01
C086000-T10001 | 2014-11-11 | 2014-11-11 | 03
C086000-T10002 | 2014-12-03 | 2014-12-10 | 03
C086000-T10002 | 2014-01-03 | 2014-01-04 | 03
C086000-T10003 | 2012-02-27 | 2014-02-28 | 03
C086000-T10003 | 2014-08-11 | 2014-11-12 | 01
C086000-T10003 | 2014-08-11 | 2014-08-20 | 01
Как я могу это выполнить?
Edit: Следующий запрос возвращает слишком много столбцов для подзапроса сообщения ошибки:
SELECT * FROM my_table WHERE code NOT IN (SELECT DISTINCT code, start_date, type FROM my_table) ;
Большое спасибо за помощь!
Нет, извините (исправлена ошибка из-за копирования пасты моего образца). – wiltomap