Jeśli jakiekolwiek takie zapytanie zwróci maksymalnie jeden wiersz, oznacza to, że (sATON, eATON)
zakresy się nie nakładają.
Dlatego i tylko wtedy, gdy zakresy się nie pokrywają, możesz użyć tego zapytania:
SELECT *
FROM data2
WHERE sATON =
( SELECT MAX(sATON)
FROM data2
WHERE sATON <= 1112203488
)
AND eATON =
( SELECT MIN(eATON)
FROM data2
WHERE eATON >= 1112203488
)
lub nawet ten (który będzie wymagał użycia tylko jednego indeksu, sATON
jeden):
SELECT *
FROM data2
WHERE sATON =
( SELECT MAX(sATON)
FROM data2
WHERE sATON <= 1112203488
)
AND eATON >= 1112203488