2009-10-14 2 views
0

Вот мой вопрос: У меня есть база данных (MySQL), как это:Дуплет выбрать/удалить в базе данных MySQL

ID0 id1 id2

И я хотел бы удалить строки, у кого есть пара (id1, id2), чтобы сохранить только один. Пример: 1/1/1 2/1/2 3/1/2 < = Удалить 4/2/1 5/2/3 6/2/3 < = Удалить

I надеюсь, что это достаточно ясно для вас, чтобы помочь мне :) спасибо

+0

Вы хотите удалить дубликаты на основе только в столбцах id1 и id2 я читаю это. –

ответ

3

Предполагая, что ID0 является уникальным (таким образом, MIN (ID0) для всех эквивалентных кортежей (ID1, ID2) является единственным быть):

DELETE 
FROM tbl 
WHERE id0 NOT IN (
    SELECT MIN(id0) 
    FROM tbl 
    GROUP BY id1, id2 
) 
+0

Отлично, именно то, что я хотел! – Julien

Смежные вопросы