powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Удалить всё, кроме 50 строк.
2 сообщений из 2, страница 1 из 1
Удалить всё, кроме 50 строк.
    #38472964
sdfghsdfh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
id | date | local_ip | src_ip | traffic |

Есть таблица айди, дата, локальный айпи, удалённый айпи, и трафик. В таблице каждому локальному соответствуют тысячи удалённых айпи. Нужно чтобы в таблице осталось: на определённую дату и определённый локальный айпи в столбце src_ip было только 50 удалённых айпи, где самое большое количество трафика. Я пишу типа:

Код: sql
1.
DELETE FROM `table` WHERE `date` = $date AND `local_ip` = $locip ORDER BY `traffic` DESC LIMIT 50



LIMIT удаляет первые 50 строк, это понятно. Ок.

Пишу:
Код: sql
1.
LIMIT 1000000000, 50


#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 50' at line 1. Ок.

Пишу:
Код: sql
1.
DELETE FROM `table` WHERE `date` = $data AND `local_ip` = $locip AND `id` NOT IN (SELECT `id` FROM `table` WHERE `date` = $data AND `local_ip` = $locip) ORDER BY `traffic` DESC LIMIT 50


#1093 - You can't specify target table 'agregat-test' for update in FROM clause. Ок.

Други! Нид хэлп.
...
Рейтинг: 0 / 0
Удалить всё, кроме 50 строк.
    #38473100
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Удалить всё, кроме 50 строк.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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