Метод А. Вы можете получить дедуплицированную версию ваших данных, используя
SELECT field1, field2, ...
INTO Deduped
FROM Source
GROUP BY field1, field2, ...
например, для ваших данных выборки,
SELECT name, number
FROM Source
GROUP BY name, number
выходы
alex 1
hary 34
liza 32
затем просто удалите старую таблицу и переименуйте новую. Конечно, есть ряд причудливых решений на месте, но это самый ясный способ сделать это.
Метод B. Метод на месте - создать первичный ключ и таким образом удалить дубликаты. Например, вы можете
ALTER TABLE Source ADD sid INT IDENTITY(1,1);
, что делает Source похожим на это
alex 1 1
alex 1 2
liza 32 3
hary 34 4
тогда вы можете использовать
DELETE FROM Source
WHERE sid NOT IN
(SELECT MIN(sid)
FROM Source
GROUP BY name, number)
, который даст желаемый результат. Конечно, «НЕ В» не совсем самый эффективный, но он сделает свою работу. В качестве альтернативы, вы можете ВЕРНУТЬСЯ В Сгруппированную таблицу (может быть, хранится в таблице TEMP) и выполнить УДАЛИТЬ таким образом.