Để tìm dấu thời gian gần đây nhất, trước tiên hãy sử dụng toán tử so sánh để loại trừ các dấu thời gian trong tương lai. Tiếp theo, sắp xếp theo khoảng thời gian nhỏ nhất bằng cách lấy dấu thời gian bạn muốn trừ đi các ứng cử viên có thể có dấu thời gian. Để chỉ nhận được kết quả gần đây nhất, hãy giới hạn 1.
Để lấy table2 val
để hiển thị cùng với các cột của table1, bạn chỉ cần chạy cùng một mã cho table2 trong một truy vấn con.
SELECT update_time AS time, id1, id2, val, (
SELECT val from table2
WHERE '2004-10-19 10:04:00' >= update_time
ORDER BY '2004-10-19 10:04:00' - update_time
LIMIT 1
)
FROM table1 WHERE '2004-10-19 10:04:00' >= update_time
ORDER BY '2004-10-19 10:04:00' - update_time
LIMIT 1;