我真的想找个办法解决这个问题,但我没法让它起作用。我在Mysql、event_parties和events中有两个表。
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的行。
如下所示:
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几天来一直在与此斗争:
/克里斯蒂安
发布于 2016-10-21 08:32:13
只有一个最高的:ORDER BY g_event_id DESC, event_time DESC LIMIT 1
更新:
对于最高的每件事,你需要一个双连接。首先,在一个表中包含所有的内容,然后在稍后加入,而没有后面的evetn的一行是后继事件。
将g_event_id作为以后的定义
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发布于 2016-10-21 08:33:41
试试这个:
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 1https://stackoverflow.com/questions/40171844
复制相似问题