Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите составить запрсик на удаление  [new]
Khusainov_Heckfy
Member

Откуда: Новосибирск
Сообщений: 683
Вот запрос

select [ID_Article], count([ID_Article]) from Catalog_ArtCross group by ID_Article

выдает ооочень много записей типа
48763 1955
48764 1046
48765 316
48766 2427
48772 849
48773 4117
48774 116
48775 116
48780 1564
48781 2797
48782 220

где вторая колонка это количество, совершенно одинаковые записи...
Необходимо удалить эти записи, но так, чтобы только осталось по одной. Возможно такое сделать?
Должно выглядеть примерно так
48763 1
48764 1
48765 1
48766 1
48772 1
48773 1
48774 1
48775 1
48780 1
48781 1
48782 1


всем спасибо заранее

MS SQL 2005
25 дек 09, 06:34    [8116420]     Ответить | Цитировать Сообщить модератору
 Re: Помогите составить запрсик на удаление  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Khusainov_Heckfy
Возможно такое сделать?
Ога.

https://www.sql.ru/forum/actualtopics.aspx?search=%F3%E4%E0%EB%E8%F2%FC+%E4%F3%E1%EB%E8&bid=1
25 дек 09, 06:36    [8116421]     Ответить | Цитировать Сообщить модератору
 Re: Помогите составить запрсик на удаление  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
;WITH CTE(N) AS
(
 SELECT ROW_NUMBER()OVER(PARTITION BY [ID_Article] ORDER BY [ID_Article])
 FROM [Catalog_ArtCross]
)
DELETE CTE WHERE N>1;
25 дек 09, 09:01    [8116649]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить