Wenn eine solche Abfrage maximal eine Zeile zurückgibt, bedeutet dies, dass (sATON, eATON)
Bereiche überschneiden sich nicht.
Daher und nur dann, wenn sich die Bereiche nicht überschneiden Sie können stattdessen diese Abfrage verwenden:
SELECT *
FROM data2
WHERE sATON =
( SELECT MAX(sATON)
FROM data2
WHERE sATON <= 1112203488
)
AND eATON =
( SELECT MIN(eATON)
FROM data2
WHERE eATON >= 1112203488
)
oder sogar dieser (der nur einen Index verwenden muss, den sATON
eins):
SELECT *
FROM data2
WHERE sATON =
( SELECT MAX(sATON)
FROM data2
WHERE sATON <= 1112203488
)
AND eATON >= 1112203488