Php 如何在SQL中捕获对数组的按时间顺序的更改?

Php 如何在SQL中捕获对数组的按时间顺序的更改?,php,sqlite,greatest-n-per-group,Php,Sqlite,Greatest N Per Group,我有一个简单的、基于位置的键值数组(PHP),它一整天都在变化。我打算捕获此阵列中的变化 我可以计算上一个数组和当前数组值之间的差值。我可以,然后将它们保存在SQL DB中为: 位置、日期、键、新值 该模式将是什么样子。我的新手尝试如下: CREATE TABLE `Variations` ( `Location` TEXT(128), `Date` DATETIME, `Key` TEXT(64), `Value` TEXT(256), `ID` INT NOT NULL

我有一个简单的、基于位置的键值数组(PHP),它一整天都在变化。我打算捕获此阵列中的变化

我可以计算上一个数组和当前数组值之间的差值。我可以,然后将它们保存在SQL DB中为:

位置、日期、键、新值

该模式将是什么样子。我的新手尝试如下:

CREATE TABLE `Variations` (
  `Location` TEXT(128),
  `Date` DATETIME,
  `Key` TEXT(64),
  `Value` TEXT(256),
  `ID` INT NOT NULL AUTO_INCREMENT,
  PRIMARY KEY  (`ID`)
);
我如何知道给定日期的所有(最新)键值对? 正在寻找有关数据检索的SQL查询的指导。

必须是INTEGER类型,而不是INT类型,并且AUTOINCREMENT(非AUTO_INCREMENT)的含义与您认为的不同

要获取日期的最新值,需要不存在其他日期更晚的行的行:

选择*
来自变化

其中日期(date)是一个自动递增的文本字段?这真的有效吗?@MarkBaker更新以反映您尝试的查询是什么?您是否尝试添加WHERE子句,例如date('date')='YYYY-MM-DD'?@ydoow我正在尝试找到合适的'WHERE'子句,以获取YYMMDD上或之前每个键的最新值。如果它看起来是计算密集型的,我可能不得不改变我存储数据的方式。我试图避免将数据(或diff)存储为每个日期的序列化哈希。我担心给定位置的所有键在不同时间更新。当我说基于YYYYMMDD显示记录时,我希望看到给定位置的每个键值的最新值。不同键的最新值可能从同一天到几年前。我会在晚上尝试一下,然后再回来。谢谢,谢谢。我想,这个或是一个小小的变化对我来说都会有用。我会在那个时候发表评论。接受这个答案。