Версия, которая использует только левое соединение и никаких подзапросов, с SQlite3 и скриптом оболочки, поскольку у меня нет ничего другого под рукой.
#!/bin/sh
rm -f test.sqlite
sqlite3 test.sqlite << AAA
CREATE TABLE test (id int, name text, number int, idn int);
INSERT INTO test VALUES(1,'dsad',500600,12);
INSERT INTO test VALUES(1,'dsad',600700,13);
INSERT INTO test VALUES(2,'kkkk',111222,56);
INSERT INTO test VALUES(2,'kkkk',333232,57);
INSERT INTO test VALUES(1,'dsad',600700,9);
INSERT INTO test VALUES(2,'kkkk',333232,59);
INSERT INTO test VALUES(2,'cccc',333232,59);
SELECT a.* FROM test a
LEFT JOIN test b ON
a.id=b.id AND
a.name=b.name
AND a.idn > b.idn
WHERE b.id IS NULL;
AAA
# Result:
# 1|dsad|600700|9
# 2|cccc|333232|59
# 2|kkkk|111222|56
Может кто-нибудь прокомментировать, где производительность лучше? Я думаю, что это тоже важно!