2014-02-19 155 views
1

我在消息表中有一個查詢,我希望它們按消息的狀態排序。那些地位像「未讀」和最近的那些必須首先出現。 我應該如何處理這些未閱讀的條款,以及那些未讀的條款,那些最後的條款將在最上面?MySql狀態訂單

這是我的代碼

select message_id,sender,penname,dp,message,TIMEDIFF(now(),date_sent) as date,status 
    from message_log,user 
    where recepient = 11 and sender = user_id 

回答

2

使用order by條款:

select message_id,sender,penname,dp,message,TIMEDIFF(now(),date_sent) as date,status 
from message_log,user 
where recepient = 11 and sender = user_id 
order by status = 'unread' desc, 
     date_sent desc; 

這使得所有的 「未讀」 的人在頂部,日期降序排列。然後剩下的消息。