根据给定的行和列值,从表中选择下一个n行。

3

我目前正在尝试从表格中获取接下来或前面的n行,比如说接下来的50行。

我将知道一行数据,它可能在数据的任何位置,我想根据时间戳列获取接下来的50行或前面的50行。问题是时间戳列不一定按顺序排列(尽管它可能会),因此数据中的下一行可能具有错误的时间戳。

我认为最好的方法是创建一个临时表,在给定行之前或之后丢弃所有时间戳(取决于是否搜索前50或后50),按时间戳排序,然后选择接下来/前50行?我对SQL只了解基础知识。

提前感谢您的帮助。


表格没有“顺序”,也没有“下一条记录”。表格是无序的数据集合。任何排序或“下一个”的定义都在您对数据的查询中定义。 - Tom H
1个回答

4
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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接