我目前正在尝试从表格中获取接下来或前面的n行,比如说接下来的50行。
我将知道一行数据,它可能在数据的任何位置,我想根据时间戳列获取接下来的50行或前面的50行。问题是时间戳列不一定按顺序排列(尽管它可能会),因此数据中的下一行可能具有错误的时间戳。
我认为最好的方法是创建一个临时表,在给定行之前或之后丢弃所有时间戳(取决于是否搜索前50或后50),按时间戳排序,然后选择接下来/前50行?我对SQL只了解基础知识。
提前感谢您的帮助。
我目前正在尝试从表格中获取接下来或前面的n行,比如说接下来的50行。
我将知道一行数据,它可能在数据的任何位置,我想根据时间戳列获取接下来的50行或前面的50行。问题是时间戳列不一定按顺序排列(尽管它可能会),因此数据中的下一行可能具有错误的时间戳。
我认为最好的方法是创建一个临时表,在给定行之前或之后丢弃所有时间戳(取决于是否搜索前50或后50),按时间戳排序,然后选择接下来/前50行?我对SQL只了解基础知识。
提前感谢您的帮助。
SELECT *
FROM mytable m
WHERE (ts, id) <
(
SELECT ts, id
FROM mytable mi
WHERE mi.id = :myid
)
ORDER BY
ts DESC, id DESC
LIMIT 50