Помогите с запросом. (выбор ста наибольших вхождений)

Бочонок

http://frontender.info
Помогите с запросом. (выбор ста наибольших вхождений)

Доброго времени суток.
Совсем запутался...

Нужно из таблицы tab1 выбрать 100 вхождений с наибольшим значением поля P1. А остальные вхождения удалить.

Как я понимаю это должно быть 2 запроса.
select * from tab1 where P1(???) Limit 100 Order by P1

А затем
delete from tab1 where P1(???)

собственно where P1(???) это и есть вопрос... Я не могу понять как должно выглядеть условие...
 

rotoZOOM

ACM maniac
а where тебе и не нужно ... Order by P1 достаточно в первом случае и добавь DESC в конце.
А удалить тебе надо:
если N - это общее количество записей, тогда
N-100
 

Бочонок

http://frontender.info
Спасибо.
А во втором?
Обратный запрос я себе в таком случае точно представить не могу...
 

rotoZOOM

ACM maniac
Получи общее количество записей.
Пусть будет N.
delete from tab1 order by p1 limit n-100
что то в таком роде.
Это как один из вариантов
 
Сверху