SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 30.04.2010 01:07:16

Driver86
Участник
Зарегистрирован: 29.12.2009
Сообщений: 11

материал всегда сверху

Здравствуйте.
Например, дана таблица сообщений форума.
Как формируются запросы так, что бы даже при перелистывании страниц (т.е. меняя в sql-запросе limit и offset) определённый материал (определённая строка из базы) всегда был сверху (всегда была и была первой при сортировке)?
Буду благодарен за понятный пример кода.
Вопрос этот возник в связи с тем, что, например, если выбрать из базы сообщения с определёнными thread_id и с сортировкой по полям is_top и дате создания, то сообщение, которое у нас должно быть быть первым на всех страницах (т.е. которое содержит is_top=1) выпадет из запроса, если, например, указать LIMIT 10,10, т.к. первое сообщение не будет в промежутке между 10-ой строкой и 20-ой строкой, а без лимита не создать возможность перелистывания страниц сообщений форума... надеюсь, понятно объяснил)

Отредактированно Driver86 (30.04.2010 01:13:15)

Неактивен

 

#2 30.04.2010 01:17:54

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: материал всегда сверху

Обычно это делают двумя запросами smile

Ну или
SELECT ... WHERE sticky = 1
UNION
SELECT ... WHERE sticky = 0 LIMIT 10;

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson