Si une telle requête renvoie au maximum une ligne, cela signifie que le (sATON, eATON)
les plages ne se chevauchent pas.
Par conséquent, et seulement si les plages ne se chevauchent pas, vous pouvez utiliser cette requête à la place :
SELECT *
FROM data2
WHERE sATON =
( SELECT MAX(sATON)
FROM data2
WHERE sATON <= 1112203488
)
AND eATON =
( SELECT MIN(eATON)
FROM data2
WHERE eATON >= 1112203488
)
ou même celui-ci (qui n'utilisera qu'un seul index, le sATON
un):
SELECT *
FROM data2
WHERE sATON =
( SELECT MAX(sATON)
FROM data2
WHERE sATON <= 1112203488
)
AND eATON >= 1112203488