我在消息表中有一个查询,我希望它们按消息的状态排序。那些状态如“未读”的人而最近的必须先到先得。 我应该如何处理那些未读的那些以及未读的那些,那些最后的那些将在顶部?
这是我的代码
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
答案 0 :(得分: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;
这会将所有“未读”的文件按日期降序排列在顶部。然后剩下的消息。