gpt4 book ai didi

mysql - 如何mysql连接两列并仅从连接表中获取最新记录?

转载 作者:行者123 更新时间:2023-11-29 06:34:06 27 4
gpt4 key购买 nike

我有 table 设置、位置和结果。

我想获得每对设置+位置的最新结果(最大ID或日期列)。

因此,如果我有 4 个设置,每个设置有 2 个位置,我希望为每个设置 + 结果获取 8 行,其中包含最新结果 ID。

此查询部分有效。我得到了对设置+位置,但连接的结果是最新的设置结果(我需要单独设置和位置)。

SELECT s.id, r.id AS last_result_id, r.date AS last_result_date
FROM result r
JOIN (SELECT max(r.id) max_id, r.setting_id
FROM result r
GROUP BY r.setting_id) r_sub
ON r.id = r_sub.max_id
JOIN setting s ON r.setting_id = m.id;

有什么建议吗?

最佳答案

您可以在“设置”表和“位置”表之间使用简单的JOIN,并获取每个表的最大结果 ID,例如:

SELECT s.id, l.id, 
(SELECT MAX(r.id) FROM result WHERE r.setting_id = s.id) As result_id
FROM settings s JOIN location l ON s.id = l.setting_id;

关于mysql - 如何mysql连接两列并仅从连接表中获取最新记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54753259/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com