Nếu bất kỳ truy vấn nào như vậy sẽ trả về tối đa một hàng, điều này có nghĩa là (sATON, eATON)
phạm vi không chồng chéo.
Do đó, và chỉ khi các phạm vi không chồng chéo, bạn có thể sử dụng truy vấn này để thay thế:
SELECT *
FROM data2
WHERE sATON =
( SELECT MAX(sATON)
FROM data2
WHERE sATON <= 1112203488
)
AND eATON =
( SELECT MIN(eATON)
FROM data2
WHERE eATON >= 1112203488
)
hoặc thậm chí cái này (chỉ cần sử dụng một chỉ mục, sATON
một):
SELECT *
FROM data2
WHERE sATON =
( SELECT MAX(sATON)
FROM data2
WHERE sATON <= 1112203488
)
AND eATON >= 1112203488