Mysql 正在检索加入3个表时的最后一条消息
我目前正在从3个不同的表中检索数据。其中一个表包含发送的与每个ID相关的消息 我目前正在尝试做但没有成功的事情是检索每个ID记录上的最后一条消息 请帮忙-Mysql 正在检索加入3个表时的最后一条消息,mysql,Mysql,我目前正在从3个不同的表中检索数据。其中一个表包含发送的与每个ID相关的消息 我目前正在尝试做但没有成功的事情是检索每个ID记录上的最后一条消息 请帮忙- select C.id , C.business, AP.firstname, AP.lastname, M.comments, M.dateread from claims C JOIN affected_people AP ON C.ID = AP.claimid joi
select
C.id ,
C.business,
AP.firstname,
AP.lastname,
M.comments,
M.dateread
from
claims C
JOIN
affected_people AP
ON C.ID = AP.claimid
join
Messages M
on M.claimid = C.ID
加上
Order by M.dateread desc
不确定,如果这对mysql有效:
select *
from(
select
C.id ,
C.business,
AP.firstname,
AP.lastname,
M.comments,
M.dateread,
max(M.dateread) over (partition by c.id) max_dateread
from
claims C
JOIN
affected_people AP
ON C.ID = AP.claimid
join
Messages M
on M.claimid = C.ID)
where max_dateread=dateread
或者只是四处寻找答案,或者,如果你愿意,考虑下面这个简单的两步行动:1。如果您还没有这样做,请提供适当的DDL(和/或SQLFIDLE),以便我们可以更轻松地复制问题。2.如果您尚未这样做,请提供与步骤1中提供的信息相对应的所需结果集。您好,谢谢您的消息。我已经搜索了好几个线程,但还没有找到一个具有正确组合代码的线程,可以提供所需的结果。HoldaysHi快乐,感谢您的回复。不幸的是,我在(按c.id分区)上使用此代码
max(M.date)时遇到服务器版本错误#1064
。我试着去摆弄它,但在10-15分钟后,我还是没能很快找到它。无论如何,谢谢,节日快乐。这会改变返回内容的顺序,但问题是要检索最后一条消息,而不是按相反的时间顺序检索消息。