左连接 table1 到 table2,但使用 table2 中的最高 ID

我们有 2 个表正在处理,一个包含人员列表,另一个包含人员执行的操作列表。我们正在尝试将人员表与操作表连接起来,并在不重复人员的情况下带回最后 5 个操作(按人员)。

查询如下所示:

SELECT a.name,a.name_id,b.action_row_id,b_action_name_id,b.action_text
FROM people_table as a 
LEFT JOIN action_table as b
ON a.name_id = b.action_name_id
GROUP by a.name_id
ORDER by b.action_row_id DESC LIMIT 0,5

在这种情况下,name_id 在 table1 中是唯一的,但 action_name_id 在 table2 中重复。此外,action_row_id 是操作表的索引行号。由于它是一个增量行,如果按降序排列,它也代表最近的活动。

假设对于 name_id = 1,我们在 action 表中有 10 行,所有行都带有 action_name_id = 1,但 action_row_id 的范围从 25 到 34。

我们希望查询带回与 action_row_id 34 连接的人 1....但我们不一定会得到那个结果,通常会返回 action_row_id = 25

基本上,我们希望将 table1 中的唯一 ID 与 table2 中的匹配 ID 连接起来,但提取索引 ID 最高的那个。

希望这很清楚,并提前致谢(一如既往)

ludyhhm 回答:左连接 table1 到 table2,但使用 table2 中的最高 ID

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/12904.html

大家都在问