Вниз
Скачать: CL | DM;

SQL-запрос. Удаление повторений   Найти похожие ветки 

 
Ozone ©   (2003-02-27 07:57) [0]

Такая проблема - есть БД (Number-Integer, Date - Date)
Пример:
1 - 12.10.2003
2 - 13.12.2002
1 - 10.10.2003
3 - 04.04.1999
2 - 30.12.2002
Как сделать SQL-запрос, чтобы получилось так:
1 - 12.10.2003
2 - 30.12.2003
3 - 04.04.1999
(т.е. удалить все повторяющиеся в поле Number записи с учетом даты - чтобы дата оставалась максимальная)


 
Наталия ©   (2003-02-27 08:00) [1]

select number,max(date) group by number
Называть служебными словами поля в БД не рекомендуется


 
Ozone ©   (2003-02-27 08:03) [2]

Так я тоже могу, но мне нужно удалить физически


 
Жук ©   (2003-02-27 08:21) [3]

Записи с одинаковыми number и date чем-нить отличаются друг от друга ?


 
Виталий Панасенко   (2003-02-27 08:40) [4]

delete from table1 t1
where 2>(select count(*) from table1 t2 where t1.number=t2.number)
Но это не учитывает что нужно отсавить максимальную дату.


 
Ozone ©   (2003-02-27 09:05) [5]

To Жук: нет, ничем не отличаются


 
stone ©   (2003-02-27 09:40) [6]

Нужно добавить автоинкрементное поле, удалить "двойников" (Number-Integer, Date - Date) с большим или меньшим значением в автоинкрементном поле, удалить автоинкрементное поле


 
Johnmen ©   (2003-02-27 09:48) [7]

>stone © (27.02.03 09:40)
>...удалить автоинкрементное поле

Может оставить ? Пригодиться ? :))))))




Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
14-54215
denisac
2003-02-21 06:46
2003.03.17
Сайт Robowar !!!!


3-53844
Anonimus
2003-02-27 09:11
2003.03.17
Как скопировать поля DBGrida в буфер обмена?


14-54192
Konrads
2003-03-03 06:33
2003.03.17
Посмотреть только мои вопросы


1-54004
X3coder
2003-03-06 14:56
2003.03.17
Как событию присвоить действия?


14-54238
Дмитрий К.К.
2003-02-28 06:37
2003.03.17
Именинники 28 февраля




   Наверх