Ако някоя такава заявка върне максимум един ред, това означава, че (sATON, eATON)
диапазоните не се припокриват.
Следователно, и само ако диапазоните не се припокриват, вместо това можете да използвате тази заявка:
SELECT *
FROM data2
WHERE sATON =
( SELECT MAX(sATON)
FROM data2
WHERE sATON <= 1112203488
)
AND eATON =
( SELECT MIN(eATON)
FROM data2
WHERE eATON >= 1112203488
)
или дори това (което ще трябва да използва само един индекс, sATON
едно):
SELECT *
FROM data2
WHERE sATON =
( SELECT MAX(sATON)
FROM data2
WHERE sATON <= 1112203488
)
AND eATON >= 1112203488