mysql - 3 个表的内部联接如何获取日期最大值的 Id?

标签 mysql sql

这是我的查询:

SELECT CON_ID, CON_CreatedBy, COM_DateTime FROM CON_Conversation
    INNER JOIN COU_ConversationUser AS cu USING (CON_ID)
    INNER JOIN COM_ConversationMessage AS cm USING (CON_ID)
WHERE cu.USR_ID = 4328 AND cm.USR_ID = 4328
ORDER BY CON_ID DESC

这是我的结果: enter image description here

现在我只想返回具有 MAX COM_DateTime 的 CON_Id。 我该怎么做??

最佳答案

子选择应该适合你:

select CON_ID, max(COM_DateTime)
from
(
    SELECT CON_ID, COM_DateTime 
    FROM CON_Conversation
    INNER JOIN COU_ConversationUser AS cu USING (CON_ID)
    INNER JOIN COM_ConversationMessage AS cm USING (CON_ID)
    WHERE cu.USR_ID = 4328 AND cm.USR_ID = 4328
    ORDER BY CON_ID DESC
) as sub
group by CON_ID
ORDER BY max(COM_DateTime) DESC

关于mysql - 3 个表的内部联接如何获取日期最大值的 Id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24019288/

相关文章:

MySQL:使用 IN(...) 索引强制不同的 access_type

php - order 和 order_lines 表 - 重复数据或使用版本控制?

mysql - JOIN 两个表返回值,但是当我使用 LEFT JOIN 时,它会返回语法错误

php - mysqli查询错误,不知道哪里出了问题

java - 对象序列化期间的DbUtils类型转换问题

sql从 View 和表中选择

MySQL多个团队成员

sql - 获取 View 的列描述

MySQL After Update 触发器更新所有内容

PHP:将一列显示为数组字段