在我的数据库中,我有 2 个表。第一个表 (t1) 包含一般信息(id、地址等)。第二个表 (t2) 包含测量值(id、时间戳、测量值)。
我正在尝试查询数据库以获得每个 ID 的最新测量结果。
为了说明这一点,我创建了 t1 和 t2 并运行以下命令:
SELECT t2.val, t2.id, t2.ts, t1.address
FROM t2
INNER JOIN t1
ON t1.id = t2.id
GROUP BY t2.id
ORDER BY t2.ts desc;
这里的结果是我没有列出最新的记录。例如。我得到以下信息(不是最新的)。
数据库中存储的最新记录是一个月后的。使用 JOIN 从 t1 获取地址时如何获取每个 Id 的最新记录?
谢谢
最佳答案
尝试找一个更大的时间,如果找不到,就找最晚的时间
SELECT t2.val, t2.id, t2.ts, t1.address
FROM t2
INNER JOIN t1
ON t1.id = t2.id
LEFT JOIN t2 as times
ON t2.ts < times.ts
AND t2.id = times.id
WHERE times.ts is NULL
关于MYSQL - 连接2个表 - 按时间排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56582661/