我有一个带有这些列的表“ element”:
我需要获取每个ref_id的最后一个值和时间。
目前,我针对返回正确结果的的每个ref_id进行查询:
SELECT time, value
FROM element
WHERE ref_id = <ID>
AND time = (SELECT max(time) FROM element WHERE ref_id = <ID>)
但是,这需要很长时间才能执行多个查询(每个查询大约需要1秒)。我一直在寻找对所有ref_id的唯一查询,以尝试加快整体时间。
可能吗 ?
谢谢,
使用相关子查询:
SELECT time, value
FROM element e
WHERE e.time = (SELECT MAX(e2.time) FROM element e2 WHERE e2.ref_id = e.ref_id);
大多数数据库可以对本指标的优势:element(ref_id, time desc)
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句