2010-01-26 1 views
2

так вот проблемасортировка с 3-х категорий

У меня есть 3 типа для отеля

  1. премиум
  2. признакам
  3. основной

Я пытаюсь отобразить список отелей и сортировать их так, чтобы признанные отели показаны в первую очередь

Какой запрос mysql выполнит это?

EDIT вот таблица, с некоторыми полями раздели

ID | hotel_name | type 
======================= 
1 | Aria Hotel | basic 
+0

Как выглядят ваши столы? –

ответ

1
ORDER BY FIELD(type, 'featured', 'premium', 'basic') 

Вы можете изменить 'featured', 'premium', 'basic' Шифрование до ваших потребностей, и может также положить DESC там

Например

ORDER BY FIELD(type, 'featured', 'premium', 'basic') DESC 

или организовать остальные как обычный порядок сортировки.

ORDER BY FIELD(type, 'featured', 'premium', 'basic') DESC, type; 
+0

Я могу использовать эту функцию только http://docs.kohanaphp.com/libraries/database/builder#orderby поэтому, кроме DESC и ASC, у меня нет другого выбора – yretuta

+0

Imm, так что вы могли бы указать «с Kohana», в заголовке вопроса? а также тег с 'kohana' – YOU

+0

Я думаю, вы в конечном итоге вызываете' -> query' непосредственно вместо '-> orderby', например' $ this-> db-> query ("SELECT * FROM table ORDER BY FIELD (type, 'featured', 'premium', 'basic') DESC, type; ");' – YOU

0

Я буду использовать группу по типу гостиницы и отсортировать по убыванию в вашем случае. Попробуйте написать запрос.