Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте.
Например, дана таблица сообщений форума.
Как формируются запросы так, что бы даже при перелистывании страниц (т.е. меняя в sql-запросе limit и offset) определённый материал (определённая строка из базы) всегда был сверху (всегда была и была первой при сортировке)?
Буду благодарен за понятный пример кода.
Вопрос этот возник в связи с тем, что, например, если выбрать из базы сообщения с определёнными thread_id и с сортировкой по полям is_top и дате создания, то сообщение, которое у нас должно быть быть первым на всех страницах (т.е. которое содержит is_top=1) выпадет из запроса, если, например, указать LIMIT 10,10, т.к. первое сообщение не будет в промежутке между 10-ой строкой и 20-ой строкой, а без лимита не создать возможность перелистывания страниц сообщений форума... надеюсь, понятно объяснил)
Отредактированно Driver86 (30.04.2010 01:13:15)
Неактивен
Обычно это делают двумя запросами
Ну или
SELECT ... WHERE sticky = 1
UNION
SELECT ... WHERE sticky = 0 LIMIT 10;
Неактивен