Om en sådan fråga kommer att returnera högst en rad, betyder det att (sATON, eATON)
intervallen överlappar inte.
Därför, och endast om intervallen inte överlappar, du kan använda den här frågan istället:
SELECT *
FROM data2
WHERE sATON =
( SELECT MAX(sATON)
FROM data2
WHERE sATON <= 1112203488
)
AND eATON =
( SELECT MIN(eATON)
FROM data2
WHERE eATON >= 1112203488
)
eller till och med detta (som kommer att behöva använda bara ett index, sATON
ett):
SELECT *
FROM data2
WHERE sATON =
( SELECT MAX(sATON)
FROM data2
WHERE sATON <= 1112203488
)
AND eATON >= 1112203488