繁体   English   中英

SQL-按日期循环浏览行的最佳实践方法

[英]SQL - Best practice way of cycling through rows by Date

我正在使用JAVA表单和SQLite数据库驱动的应用程序,该应用程序每天需要一些信息,有时一天需要多次。

输入表单和数据库如下所示

输入表格

数据库布局

我想做的就是能够按“下一个记录”或“上一个记录”,它将按日期转到下一个记录,但该记录可能设置了同一天。

如果我按ID去,那么删除行时就不会混乱。 如果有人进来编辑一个旧的记录日期,如果我按ID去,那也会搞乱周期。

开发人员通常如何遍历这样的记录?

谢谢

我建议使用Date / ID索引(假设没有其他条件),然后将这些列用作ORDER BY一部分。 这样可以确保所有记录在同一天,保持一致的顺序。

您还可以通过这种方式使用相对过滤器对当前记录进行操作,即

WHERE (new.date = old.date AND new.ID > old.ID)
OR new.date > old.date

将其与您的订购结合起来,您将获得“下一条记录”作为您的第一个结果。

以前是类似的-只是颠倒标准。

结果查询应类似于:

SELECT   TOP 1 *
FROM     Table t
WHERE    (t.Date = old.Date AND t.ID > old.ID)
OR       t.Date > old.Date
ORDER BY Date, ID

old.Date和old.ID是传入的参数(我猜SQLite使用与MSSQL类似的TOP,而不是Rownum或限制)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM