powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как удалить старые записи в выборке, оставив только самую новую запись?
4 сообщений из 4, страница 1 из 1
Как удалить старые записи в выборке, оставив только самую новую запись?
    #39808790
Vbifyz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста, как задать команду, чтобы вот из этой выборки:

SELECT `title`, `phonenum`, count(*) FROM `tbl_post` GROUP BY `title`,`phonenum` HAVING count(*)>1;

удалить наиболее старые записи в каждой строке, оставив при этом только самую новую по каждой позиции?

Например при данном селекте получили результат:

Квартира, 70 лет Победы, 2 (титл) 915659хххх (номер) 2 (количество записей)
Квартира, Академика Жук, 12/1, подъезд 927159хххх 3
Квартира, Алфёрова, 5Б 9887850хххх 4

Надо чтобы при удалении наиболее старых записей остались только по 1 самой новой записи на каждую строку:

Квартира, 70 лет Победы, 2 (титл) 915659хххх (номер) 1 (количество записей)
Квартира, Академика Жук, 12/1, подъезд 927159хххх 1
Квартира, Алфёрова, 5Б 9887850хххх 1



Время записи задается параметром create_time
...
Рейтинг: 0 / 0
Как удалить старые записи в выборке, оставив только самую новую запись?
    #39809194
machetero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
6.
7.
DELETE FROM table t1 
WHERE t1.id = t2.id 
AND create_time NOT IN (
   SELECT MAX(t2.create_time) 
   FROM table t2 
   GROUP BY t2.title, t2.phonenum
)
...
Рейтинг: 0 / 0
Как удалить старые записи в выборке, оставив только самую новую запись?
    #39809198
machetero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проходил мимо, решил запостить, может сработает.
...
Рейтинг: 0 / 0
Как удалить старые записи в выборке, оставив только самую новую запись?
    #39809209
Vbifyz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
machetero
Код: sql
1.
2.
3.
4.
5.
6.
7.
DELETE FROM table t1 
WHERE t1.id = t2.id 
AND create_time NOT IN (
   SELECT MAX(t2.create_time) 
   FROM table t2 
   GROUP BY t2.title, t2.phonenum
)




Так а где в этом коде сама выборка?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как удалить старые записи в выборке, оставив только самую новую запись?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]