Um den neuesten Zeitstempel zu finden, verwenden Sie zuerst den Vergleichsoperator, um zukünftige Zeitstempel auszuschließen. Ordnen Sie als Nächstes nach dem kleinsten Intervall, indem Sie mögliche Zeitstempelkandidaten von Ihrem gewünschten Zeitstempel subtrahieren. Um nur das neueste Ergebnis zu erhalten, begrenzen Sie 1.
Um die Tabelle2 val
zu erhalten Spalte, die mit den Tabellenspalten angezeigt werden soll, müssen Sie nur den gleichen Code für Tabelle2 innerhalb einer Unterabfrage ausführen.
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;