[英]how to get next/previous records in mysql based on timestamp
我想知道如何参考我当前选择的行从mysql数据库中选择下一行和上一行。
我在SO上发现了这个问题。 如何在MySQL中获取下一个/上一个记录? 但是在这种情况下,选择是根据参考中的较高和较低ID进行的。 我想使用更早或更晚的时间戳而不是id。
没有理由使用子查询。
下一个:
SELECT * FROM `my_table`
WHERE `the_timestamp` > 123456
ORDER BY `the_timestamp` ASC
LIMIT 1
上一条:
SELECT * FROM `my_table`
WHERE `the_timestamp` < 123456
ORDER BY `the_timestamp` DESC
LIMIT 1
根据您链接到的文章,您可以使用:
SELECT *
FROM `my_table`
WHERE `the_timestamp` = (
SELECT MIN(`the_timestamp`)
FROM `my_table`
WHERE `the_timestamp` > 1373493634
);
对其进行格式化以提高可读性。 将我使用的时间戳(1373493634)替换为要在其后查找下一个记录的时间戳。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.