Mysql 分组查询,并且返回最新的一条数据问题。
Mysql 分组查询,并且返回最新的一条数据问题。我现在遇到一个难题,现在有一张表pp_sitemessage表,表的信息就是站内信。字段有:
id 流水号
title 标题
MessContent 站内信内容
SendUserId 收件人ID
Senduser 收件人名
FromuserId 发件人ID
Formuser 发件人
form_isdel 发件人是否删除
Send_isdel 收件人是否删除
is_read 是否阅读
adate 添加时间
pp_user是用户信息表,只在取用户的头像。
这些字段,现在想要提取这里面的数据,显示的样式类似QQ那种,就是最新会话的记录在前面。
我的sql语句是这样的:
SELECT * FROM (SELECT * FROM pp_sitemessage WHERE ((Send_isdel = 0 and SendUserId ='103816762') or (FromuserId = '103816762' and form_isdel =0)) and ClassId=1 ORDER BY adate DESC) a INNER JOIN pp_user b ON (a.FromuserId = b.unid) INNER JOIN pp_user c ON (a.SendUserId = c.unid) where 1=1 GROUP BY SendUserId,FromuserId ORDER BY adate DESC;
现在记录是取出最新的了。但是需要剔除一部分。
上面的图片,划红线的得剔除掉,这样才能够显示出,最新发的消息在最上面。