мои столбцы в таблице вот так
column1 column2 100 1 100 1 101 2 101 3 102 4 102 5 103 6 104 7 104 7
и я хочу вывод как это
column1 column2 101 2 101 3 102 4 102 5 103 6
declare @T table ( c1 int, c2 int ) insert into @T values (100, 1), (100, 1), (101, 2), (101, 3), (102, 4), (102, 5), (103, 6), (104, 7), (104, 7) ;with C as ( select count(*) over(partition by C1, C2) as D from @T ) delete from C where D > 1
Очевидно, вам нужны только строки, чье значение column2 находится в диапазоне от 2 до 6
Delete from your_table Where column2<2 or column2>6
Теперь вам останутся только те строки, которые вы хотите, вы можете просто выбрать все сейчас:
Select column1, column2 From yourtable
Если вы просто хотите, чтобы запрос возвращал строки без повторов, вам нужно:
SELECT DISTINCT column1, column2 FROM MyTable
Если вы на самом деле хотите удалить строки, перейдите по ссылке @ Ahamed на предыдущий ответ SO на удаление дублирующихся строк