2015-04-27 4 views
4

Я знаю как select и сортируюсь по одной категории отдельно и как select и сортировать все категории в соответствии с ASC или DESC. Мой вопрос в том, как select все категории и сортировать их так, как, например, пятая категория будет на первом месте, а другие за ней?MySQL, как отсортировать по категориям?

+2

использовать 'CASE' в разделе' ORDER BY' –

+0

Что означает «пятая категория»? У вас есть это имя или только 5-е место? –

+0

Вам нужно предоставить некоторые данные образца. –

ответ

3

Предположив, что пятой категории просто означает, что вы хотите предпочитать определенную категорию, как Category-Name, вы можете использовать CASE:

SELECT t.* 
FROM dbo.Tablename t 
ORDER BY CASE WHEN t.Category = 'Category-Name' THEN 0 ELSE 1 END ASC, 
     Category ASC 
+0

Спасибо, он работает по мере необходимости! – Avyakt

1

Вы можете использовать field() функцию

select * 
from categories 
order by field(id,5) desc,id 

или

select * 
from categories 
order by id= 5 desc,id 
+1

Спасибо за ваше время и ответ. – Avyakt

Смежные вопросы