簡體   English   中英

如何基於時間戳獲取mysql中的下一個/上一個記錄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM