首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于MAX的MYSQL连接和整行获取

基于MAX的MYSQL连接和整行获取
EN

Stack Overflow用户
提问于 2016-10-21 08:29:22
回答 2查看 51关注 0票数 1

我真的想找个办法解决这个问题,但我没法让它起作用。我在Mysql、event_partiesevents中有两个表。

代码语言:javascript
复制
event_parties:
g_event_id   agent_id
----------   --------
2917         2
2918         2
2919         2
3067         3
3078         3

events:
g_event_id   event_id   event_time
----------   --------   ----------
2917         29         2016-10-19 15:24:25
2918         31         2016-10-19 15:24:28
2919         30         2016-10-19 15:29:46
3067         29         2016-10-20 15:33:46
3078         30         2016-10-21 15:29:46

我需要在这两个表之间加入一个g_event_id作为ID.,我需要表events中的所有字段,我需要具有最高g_event_id或最高event_time的行。

如下所示:

代码语言:javascript
复制
agent_id   g_event_id   event_id   event_time
--------   ----------   --------   ----------
2          2919         30         2016-10-19 15:29:46
3          3078         30         2016-10-21 15:29:46

几天来一直在与此斗争:

/克里斯蒂安

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-21 08:32:13

只有一个最高的:ORDER BY g_event_id DESC, event_time DESC LIMIT 1

更新:

对于最高的每件事,你需要一个双连接。首先,在一个表中包含所有的内容,然后在稍后加入,而没有后面的evetn的一行是后继事件。

将g_event_id作为以后的定义

代码语言:javascript
复制
SELECT event_parties.agent_id, event_parties.g_event_id, event_id, event_time
FROM event_parties
INNER JOIN events USING (g_event_id)
LEFT JOIN event_parties AS later_event
   ON (later_event.agent_id = event_parties.agent_id 
      AND later_event.g_event_id > event_parties.g_event_id)
WHERE later_event.g_event_id IS NULL
GROUP BY event_parties.agent_id
票数 1
EN

Stack Overflow用户

发布于 2016-10-21 08:33:41

试试这个:

代码语言:javascript
复制
select 
ep.agent_id,
ep.g_event_id,
e.event_id,
e.event_time
from event_parties ep
join events e on e.g_event_id = ep.g_event_id
order by e.g_event_id DESC, e.event_time desc
limit 1
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40171844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档