【发布时间】:2012-08-24 20:08:21
【问题描述】:
我有一个存储具有两个属性的项目的表。所以表格有三列:
item_id | property_1 | property_2 | insert_time
1 | 10 | 100 | 2012-08-24 00:00:01
1 | 11 | 100 | 2012-08-24 00:00:02
1 | 11 | 101 | 2012-08-24 00:00:03
2 | 20 | 200 | 2012-08-24 00:00:04
2 | 20 | 201 | 2012-08-24 00:00:05
2 | 20 | 200 | 2012-08-24 00:00:06
也就是说,每次任何项目的 either 属性发生变化时,都会插入一个新行。还有一列存储插入时间。现在我想获取property_2 中的更改次数。对于上表,我应该得到
item_id | changes_in_property_2
1 | 2
2 | 3
我怎样才能得到这个?
【问题讨论】:
-
你的表上是否有 id 列,或者每条记录都有一个 datetime 字段?只是好奇,否则有没有办法对记录进行排序?
-
鉴于示例数据中的第 4 行和第 6 行之间没有区别,您将无法确定更改。您可能需要添加某种可排序的时间信息,以便按顺序比较前一个值和下一个值。
-
由于第 4 行和第 6 行是相同的,因此确定更改将是非常困难。您需要另一列或不同的记录方法。
-
@Tom,@ahillman3,@njk 我确实有一列插入时间。我刚刚编辑了我的问题。
-
@seanhawk 你桌上的钥匙是什么?