【发布时间】:2015-07-11 04:25:03
【问题描述】:
每天,我都将(使用 crontab、php 脚本)保存到数据库错误信息中。每一行都是这样的: (错误识别、日期、标题、谁等......)
(例如: 错误识别、日期、标题、谁等......
issue1, 2015-04-01, blabla, bill 等...
issue2, 2015-04-01, nnnnnnn, john 等...
issue3, 2015-04-01, vvvvvvv, greg 等...
issue1, 2015-04-02, blabla, bill 等...
issue2, 2015-04-02, nnnnnnn, john 等...
issue3, 2015-04-02, vvvvvvv, mario, etc...(现在是 mario)
issue2, 2015-04-03, nnnnnnn, john 等...(issue1 消失了)
issue3, 2015-04-03, vvvvvvv, tod, etc...(tod 是新信息)
issue4, 2015-04-03, rrrrrrrr, john 等...(issue4 是新的)
.................................................. )
基本上,如果我以上面发布的示例为例,结果应该类似于 4 月 2 日和 4 月 3 日之间的比较
新行是:issue4
关闭的行是:Issue1
更新的行是:Issue3(用 tod 代替 mario)
没有变化的行是:Issue2
在我的例子中,有数百行,我相信我知道如何做到这一点,这要归功于 php,但我的代码将很长,就像创建 foreach 循环并一一查看是否有任何更改。我不确定我是否得到了直接的解决方案。
所以我的问题是,是否有任何简单的方法可以使用“简单”代码(如 sql 特殊请求或任何项目代码或简单的 php 函数?)来报告这些更改。
【问题讨论】:
-
可能您需要一个
SELECT语句,其中包含WHERE条件和日期BETWEEN。通过这种方式,您将能够从数据库中仅获取您感兴趣的行 -
感谢您的回复,但我的意思是精确比较 2 个日期,然后知道哪一行是新的,哪一行是关闭的,哪一行是更新的,哪一行是不变的。
-
最好的事情是,如果您还发布输入参数的示例和您期望的最终结果
-
我明白你的意思,但我不能,因为数据是机密的,仅供内部使用。
-
您不必复制真实数据,只需复制足够相似的数据即可制作可重现的示例