Как я могу удалить эти строки - PullRequest
2 голосов
/ 28 января 2012

мои столбцы в таблице вот так

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

Ответы [ 3 ]

1 голос
/ 28 января 2012
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
0 голосов
/ 28 января 2012

Очевидно, вам нужны только строки, чье значение column2 находится в диапазоне от 2 до 6

Delete from your_table
Where column2<2 or column2>6

Теперь вам останутся только те строки, которые вы хотите, вы можете просто выбрать все сейчас:

Select column1, column2
From yourtable 
0 голосов
/ 28 января 2012

Если вы просто хотите, чтобы запрос возвращал строки без повторов, вам нужно:

SELECT DISTINCT column1, column2
FROM MyTable

Если вы на самом деле хотите удалить строки, перейдите по ссылке @ Ahamed на предыдущий ответ SO на удаление дублирующихся строк

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...