我有一个SQLite表,其中包含各种产品的价格。这是一个快照表,因此它包含 5 分钟间隔的价格。我想编写一个查询,返回每个项目从一行到下一行的价格差异。
列是 id(汽车公司)、record_id(产品的 id)、价格(当时的价格)、时间(距纪元仅几秒)
我正在尝试返回一个“差异”列,其中包含间隔之间的差异值。
鉴于以下 id record_id 价格时间 1 苹果001 36.00 ... 67 苹果001 37.87 ... 765 苹果001 45.82 ... 892 苹果001 26.76 ... 我希望它返回 id record_id 价格时差 1 苹果001 36.00 ... 0 67 苹果001 37.87 ... 1.87 765 苹果001 45.82 ... 7.95 892 苹果001 26.76 ... -19.06
SQLite可以吗?
其次,是否有可能 - 有没有办法将其限制为最后 5 条左右的记录?
我会很感激任何帮助,谢谢。
只是想补充一些东西。我在其他数据库中找到了这样做的方法,但我使用的是 XULRunner,因此使用的是 SQLite。这就是我改用它的原因。
第二个问题可能需要澄清,我希望按时间订购并分析最后 5 条记录。如果需要,我可以单独解决这个问题。
这是一个 MySQL解决方案。这是我正在走向的方法,但交易破坏者是“如果表包含序列列但存在间隙,请重新编号。如果表不包含这样的列,请添加一个”。根据设计,这种情况存在差距,因为一次更新了许多记录并且不会按顺序进行。