我有两张表,其中包含不同时间间隔的测量值。 left
表的测量频率较低,right
表的测量频率较高。我想组合它们,以便结果表将包含left
表中的每一行,与right
表中具有最接近时间戳的任何行匹配。
到目前为止,我的蹩脚解决方案利用了right
表中行的一分钟间距。它非常慢,并为left
中的每一行返回多行,因为right
表中有多个时间戳匹配。我怎样才能改善这个?
SELECT `left`.*, `right`.*
FROM `left`
LEFT JOIN `right`
ON ROUND(UNIX_TIMESTAMP(`left`.`timestamp`)/60) = ROUND(UNIX_TIMESTAMP(`right`.`timestamp`)/60);