Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Удалить всё, кроме 50 строк. / 2 сообщений из 2, страница 1 из 1
21.11.2013, 14:42:55
    #38472964
sdfghsdfh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить всё, кроме 50 строк.
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
21.11.2013, 15:38:58
    #38473100
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить всё, кроме 50 строк.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Удалить всё, кроме 50 строк. / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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