LINUX.ORG.RU

SQL найти ближайшие значения


0

1

Здравствуйте!
Как лучше всего сделать следующий запрос: Есть таблица со статистикой. Есть некий timestamp. Как найти в таблице ближайшие к это timestamp'у записи (ближайшую справа и слева)?

★★★★★

Последнее исправление: kovrik (всего исправлений: 1)

Отсортировать по времени?

Eddy_Em ☆☆☆☆☆
()

максимальное значение не больше value - 1 и минимальное не меньше value + 1?

aho
()

Ближайшее слева сделал так:

SELECT MAX(installs) AS installs FROM (SELECT * FROM table AS t1 WHERE id=? AND timestamp<?) AS t2

Осталось найти справа.

kovrik ★★★★★
() автор топика

ближайший сверху
SELECT MIN(id) FROM table WHERE stamp>1307539439
ближайший низу
SELECT MAX(id) FROM table WHERE stamp<1307539439

где 1307539439 твой timestamp

xorik ★★★★★
()
Ответ на: комментарий от kovrik

Забыл добавить, значения могут только увеличиваться с течением времени.

kovrik ★★★★★
() автор топика
Ответ на: комментарий от xorik

Угу, почти так и сделал. Спасибо!

kovrik ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.