我在消息表中有一个查询,我希望它们按消息的状态排序。那些具有"未读"状态和最近状态的必须排在第一位。我应该如何按子句排序
,其中未读的将位于顶部,在未读的那些中,最后的将位于顶部?这是我的代码
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
子句:
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;
这会将所有"未读"的按日期降序放在顶部。 然后是其余的消息。