У меня есть таблица в sql, которая выглядит так:
1 1w10 U UROK_HUMAN IIGGEFTTIENQPWFAAIYRRHRGGSVTYVCGGSLISPCWVISATHCFID...
2 1w11 U UROK_HUMAN IIGGEFTTIENQPWFAAIYRRHRGGSVTYVCGGSLISPCWVISATHCFID...
3 1w12 U UROK_HUMAN IIGGEFTTIENQPWFAAIYRRHRGGSVTYVCGGSLISPCWVISATHCFID...
4 1w13 U UROK_HUMAN IIGGEFTTIENQPWFAAIYRRHRGGSVTYVCGGSLISPCWVISATHCFID...
5 1w14 U UROK_HUMAN IIGGEFTTIENQPWFAAIYRRHRGGSVTYVCGGSLISPCWVISATHCFID...
6 1w15 A SYT4_RAT GSPGISGGGGGIPSGRGELLVSLCYQSTTNTLTVVVLKARHLPKSDVSGL...
7 1w16 A SYT4_RAT GSPGISGGGGGIPSGRGELLVSLCYQSTTNTLTVVVLKARHLPKSDVSGL...
8 1w17 B PDAA_BACSU MKWMCSICCAAVLLAGGAAQAEAVPNEPINWGFKRSVNHQPPDAGKQLNS...
10 1w18 B SACB_ACEDI AGVPGFPLPSIHTQQAYDPQSDFTARWTRADALQIKAHSDATVAAGQNSL...
12 1w18 E SACB_ACEDI MKGGAGVPDLPSLDASGVRLAIVASSWHGKICDALLDGARKVAAGCGLDD...
Я хочу удалить дубликаты записей, но оставив одну из них. Например, я хочу сохранить первый ряд, но удалить 2,3,4,5. Короче говоря, я хочу удалить строки, которые имеют одинаковое значение столбца 4 (здесь UROK-HUMAN), но имеют разные значения col2 и col3 (здесь 1w10, 1w11 и т. Д. (Col2) и U, A, B (col3)).
Однако я не хочу удалять записи, имеющие одинаковые col2 и col3 (1w18 B-E), имеющие одинаковое значение col4 (SACB-ACEDI).
Как я могу написать и SQL заявление, чтобы удалить эти строки? Я пытался писать как и не работает:
SELECT pdb, chain, unp, sekans, COUNT(*) AS ct
FROM protein
JOIN (SELECT DISTINCT(unp)
FROM protein
GROUP by pdb) protein2 ON protein2.unp = protein.unp;
Большое спасибо за вашу помощь.