SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 15.11.2007 14:19:18

gregzem
Участник
Зарегистрирован: 02.07.2007
Сообщений: 10

Выборка по двум критериям за один запрос

Есть таблица, содержащая объявления (доски объявлений):

Код:

таблица Adverts

ID    Content     IsSelected   PostDate   Price ....
1      Объява1        0                 
2      Объява2        0     
3      Объява3        1
4      Объява4        0
...

Выборка объявлений для отображения делается с ORDER BY <поле сортировки> [DESC] LIMIT <start>, 30
По 30 штук.
То есть можно сортировать по дате публикации в обе стороны, по цене и т.д.

Есть возможность выделять объявления, выделенное объявление должно отображаться вначале списка. У выделенного объявления IsSelected=1.

Как написать запрос, чтобы извлекалась выборка всех объявлений с учетом сортировки (ORDER BY) и LIMIT чтобы вначале шли все IsSelected = 1 (внутри своей группы отсортированные по выбранному критерию, например цене), а потом все остальные (тоже отсортированные по тому же критерию, например цене). Следует учесть, что выделенныъ объявлений может быть сколько угодно (то есть на первой и второй страницах могут отображаться только выделенные, а дальше - обычные).

Заранее благодарен.

Неактивен

 

#2 15.11.2007 14:49:26

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

Re: Выборка по двум критериям за один запрос

ORDER BY IsSelected DESC, <поле сортировки> [DESC]

Неактивен

 

#3 15.11.2007 20:10:45

gregzem
Участник
Зарегистрирован: 02.07.2007
Сообщений: 10

Re: Выборка по двум критериям за один запрос

Спасибо. Думал все будет сложнее...горе от ума smile

Неактивен

 

Board footer

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