Pokud jakýkoli takový dotaz vrátí maximálně jeden řádek, znamená to, že (sATON, eATON)
rozsahy se nepřekrývají.
Proto a pouze v případě, že se rozsahy nepřekrývají, místo toho můžete použít tento dotaz:
SELECT *
FROM data2
WHERE sATON =
( SELECT MAX(sATON)
FROM data2
WHERE sATON <= 1112203488
)
AND eATON =
( SELECT MIN(eATON)
FROM data2
WHERE eATON >= 1112203488
)
nebo dokonce toto (k tomu bude potřeba použít pouze jeden index, sATON
jeden):
SELECT *
FROM data2
WHERE sATON =
( SELECT MAX(sATON)
FROM data2
WHERE sATON <= 1112203488
)
AND eATON >= 1112203488