开发者社区 问答 正文

MySQL查询加入最大值

简化了我的查询示例;

SELECT ce., cev. FROM calendar_event ce INNER JOIN calendar_event_viewing cev on ce.calendar_event_id = cev.calendar_event_viewing_calendar_event_id AND calendar_event_viewing_type='2' WHERE (calendar_event_viewing_public_notes='Unable to reach viewer to obtain feedback yet, will keep trying.' OR calendar_event_viewing_public_notes='Unable to reach viewer to obtain feedback yet, voicemail left, will keep trying.') ORDER BY calendar_event_start ASC 该表calendar_event_viewing可以有多个条目。我想选择最新的条目作为内部联接的一部分。最新的条目将具有的最高值calendar_event_viewing_calendar_event_id。默认情况下,如果要加入多个calendar_event_viewing行,MySQL将选择哪一行?

问题来源于stack overflow

展开
收起
保持可爱mmm 2019-11-18 11:39:20 413 分享 版权
1 条回答
写回答
取消 提交回答
  • 您可以在查询中执行子查询以仅返回最新的 calendar_event_viewing

    SELECT ce., cev. FROM calendar_event ce INNER JOIN (SELECT * FROM calendar_event_viewing GROUP BY calendar_event_viewing_calendar_event_id ORDER BY id DESC) cev on ce.calendar_event_id = cev.calendar_event_viewing_calendar_event_id AND calendar_event_viewing_type='2' WHERE (calendar_event_viewing_public_notes='Unable to reach viewer to obtain feedback yet, will keep trying.' OR calendar_event_viewing_public_notes='Unable to reach viewer to obtain feedback yet, voicemail left, will keep trying.') ORDER BY calendar_event_start ASC 用id列表示最新的内容替换。

    2019-11-18 11:39:53
    赞同 展开评论