Форум программистов, компьютерный форум, киберфорум
Наши страницы
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
 
dobrotiu
0 / 0 / 3
Регистрация: 19.03.2015
Сообщений: 203
1

Удаление повторяющихся строк

08.02.2018, 20:25. Просмотров 406. Ответов 7
Метки нет (Все метки)

В таблице есть поля А есть одинаковые записи, как удалить так чтобы осталось одна запись?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2018, 20:25
Ответы с готовыми решениями:

Выборка без повторяющихся строк
Используя операции соединения построить запрос: получить полную информацию о...

Запрос на выборку с исключением повторяющихся строк
Добрый день. Столкнулся с еще одной проблемой. У меня есть представление,...

Как убрать дублирование строк - SQL Server (вывод не повторяющихся)
Добрый день! Вот мой код в sql, написала в access-е. Проблема в том что мне...

Удаление строк из таблиц
Таблица состоит из столбца "id" и столбца "имя". В таблицу добавляю несколько...

Удаление ненужных строк
Добрый день, суть задачи: имеется таблица вида : fullname start ...

7
pincet
1335 / 921 / 125
Регистрация: 23.07.2010
Сообщений: 5,032
08.02.2018, 20:29 2
Это просто белый полярный пушистый зверек
0
qwertehok
2323 / 2224 / 605
Регистрация: 29.08.2013
Сообщений: 14,890
08.02.2018, 20:36 3
Удаление повторяющихся строк из таблицы в SQL Server

этож надо еще и найти, очень сложно
0
IamRain
1375 / 1230 / 386
Регистрация: 02.08.2011
Сообщений: 3,627
08.02.2018, 21:35 4
T-SQL
1
2
3
4
5
6
7
8
delete T
from T t
join (select Id
            ,A
            ,Row_Number() over(partition by A) as rownum  
            from T) subq
on subq.Id = t.Id
where subq.rownum != 1
Синтаксис не проверял, но идея должна быть понятна

Добавлено через 12 минут
А не, все же алиас надо указывать при удалении:
T-SQL
1
2
3
4
5
6
7
8
delete t
from T t
join (select Id
            ,A
            ,Row_Number() over(partition by A order by (select null)) as rownum  
            from T) subq
on subq.Id = t.Id
where subq.rownum != 1
0
dobrotiu
0 / 0 / 3
Регистрация: 19.03.2015
Сообщений: 203
08.02.2018, 22:27  [ТС] 5
Хорошо, у меня таблица называется OWNNAME а строки DCNM, как Это к вашему примеру
Цитата Сообщение от IamRain Посмотреть сообщение
delete t
from T t
join (select Id
* * * * * * ,A
* * * * * * ,Row_Number() over(partition by A order by (select null)) as rownum *
* * * * * * from T) subq
on subq.Id = t.Id
where subq.rownum != 1
0
IamRain
1375 / 1230 / 386
Регистрация: 02.08.2011
Сообщений: 3,627
09.02.2018, 03:14 6
Тут уже соизвольте сделать по шаблону. Голова - чтобы думать. Ноги - чтобы ходить. (С)
0
dobrotiu
0 / 0 / 3
Регистрация: 19.03.2015
Сообщений: 203
09.02.2018, 14:56  [ТС] 7
Не получается никак
0
iap
893 / 620 / 128
Регистрация: 27.11.2009
Сообщений: 1,854
09.02.2018, 15:54 8
T-SQL
1
2
WITH CTE(N) AS(SELECT ROW_NUMBER()OVER(PARTITION BY A ORDER BY A) FROM T)
DELETE CTE WHERE N>1;
Добавлено через 11 минут
Цитата Сообщение от dobrotiu Посмотреть сообщение
у меня таблица называется OWNNAME а строки DCNM
T-SQL
1
2
WITH CTE(N) AS(SELECT ROW_NUMBER()OVER(PARTITION BY DCNM ORDER BY DCNM) FROM OWNNAME)
DELETE CTE WHERE N>1;
0
09.02.2018, 15:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2018, 15:54

Удаление строк из таблицы
Добрый день! Есть проблема: - необходимо из таблицы удалить строки дата в...

Удаление дубликатов строк из таблицы
Собственно существует ли какая нибудь команда или универсальный запрос, который...

Удаление строк с внешним ключем
Создаю 2 таблицы: CREATE TABLE A( ID INTEGER PRIMARY KEY, Number INTEGER...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru