Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запрос удаления повторяющихся данных на SQL [MSSQL, MySQL]


bigcrush ©   (2005-06-27 16:07:00) 

Есть таблица:
data(
timestamp integer,
type integer,
dev_time date,
dev_data varchar(100)
)

Значения поля timestamp не повторяются.
Точно известно, что если есть 2 записи с одинаковыми значеними dev_time, то у них значения полей dev_data совпадают.
Как на SQL удалить повторяющиеся записи? Если есть 3 записи с равными значениями dev_time и dev_data, удалить 2 из них.


Anatoly Podgoretsky   (2005-06-27 16:48:00) [1]

Zacho ©   (27.06.05 16:36) [8]
Ну так поддерживает SQL-92


Zacho   (2005-06-27 16:36:00) [2]

Anatoly Podgoretsky ©   (27.06.05 16:20) [4]

Я это и подозревал :)


MOA   (2005-06-27 16:35:00) [3]

DELETE d
FROM [data] d
WHERE d.timestamp <
(SELECT MAX(d1.[timestamp]) FROM [data] d1 WHERE (d1.[dev_time] = d.[dev_time]))

Что-то с паролем :(


MOA   (2005-06-27 16:35:00) [4]

DELETE d
FROM [data] d
WHERE d.timestamp <
(SELECT MAX(d1.[timestamp]) FROM [data] d1 WHERE (d1.[dev_time] = d.[dev_time]))

Что-то с паролем :(


MOA-2   (2005-06-27 16:31:00) [5]

Может, так:?

DELETE d
FROM [data] d
WHERE d.timestamp <
(SELECT MAX(d1.[timestamp]) FROM [data] d1 WHERE (d1.[dev_time] = d.[dev_time]))

Удачи!


Anatoly Podgoretsky   (2005-06-27 16:20:00) [6]

Zacho ©   (27.06.05 16:18) [2]
В MS SQL именно так и есть.


Zacho   (2005-06-27 16:18:00) [7]

2 bigcrush :

А может, просто не плодить "повторяющиеся" записи ? Первичный ключ сделать или UNIQUE CONSTRAINT или что там в MS SQL и MySQL есть..


stone   (2005-06-27 16:18:00) [8]

Во-первых, определись с СУБД MSSQL или MySQL, т.к. синтаксис может отличаться
Во-вторых, какое у таблицы ключевое поле?


Anatoly Podgoretsky   (2005-06-27 16:14:00) [9]

timestamp в MSSQL зарезирвированое имя


Наверх

Титульная страница Поиск, карта сайта Написать письмо