2013-05-10 52 views
0

我想訂購MySQL查詢由值MySQL的順序,然後示出了其餘

1)的結果,以示出第一entrys WICH匹配給定的條件,並將它們順序隨機

2),然後顯示結果按日期倒序排列其餘

我已經tryed這一點:

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

千恩萬謝

+0

你需要寫2個選擇和使用工會它們之間 – Aivar 2013-05-10 09:52:39

+0

其實我的目標是做沒有工會,因爲這個查詢是一個複雜的篩選器操作的一部分,也許你有一個替代,但非常感謝提示 – Mik 2013-05-10 09:56:28

回答

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 2013-05-10 10:02:51