2013-05-10 3 views
0

Я хочу заказать результаты MySQL QueryMySQL порядок значениями, а затем показать остальные

1) показать первые entrys которым соответствуют заданному условию и порядок их случайно

2), а затем показать остальные результаты отсортированы по дате по алфавиту

я судимое уже это:

Select * from post inner join user on post.user_id = user.id order by user.type = "top" desc, created desc; 

большое спасибо

+0

Вам нужно написать 2 выбирает и использовать союз между ними – Aivar

+0

на самом деле моя цель состояла в том, чтобы сделать это без союза, так как этот вопрос является частью комплексного действия фильтра, может быть, у вас есть альтернатива , но огромное спасибо за подсказку – Mik

ответ

1

Используйте case заявление

select * from post 
inner join user on post.user_id = user.id 
order by case when user.type = 'top' 
       then 1 
       else 2 
     end asc, 
     created desc; 
+0

отлично, отлично работает – Mik

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