有没有办法找出两行插入在一起?
我有这样的桌子:
表1
ID | column1 | column2 |
---------------------------------------------
1 | '2013-11-04 13:47:03' | A |
2 | '2013-11-04 13:47:03' | B |
3 | '2013-11-04 13:47:13' | Y |
4 | '2013-11-04 13:47:13' | X |
5 | '2013-11-04 13:47:20' | B |
6 | '2013-11-04 13:47:23' | Z |
7 | '2013-11-04 13:47:23' | X |
8 | '2013-11-04 13:47:26' | X |
9 | '2013-11-04 13:47:26' | Z |
10 | '2013-11-04 13:47:35' | B |
11 | '2013-11-04 13:47:38' | A |
12 | '2013-11-04 13:47:38' | B |
13 | '2013-11-04 13:47:40' | A |
14 | '2013-11-04 13:47:41' | X |
15 | '2013-11-04 13:47:41' | Z |
在上表中,我想找到"A,B"相继发生的确切时间,比如"A"是"B"发生后的第一行和下一行。然后我将"A"的DateTime保存为starttime。
在那之后,我检查"X,Z"何时像上面一样发生,而这个"X,Z"必须在时间"A,B"发生之后,并将"Z"时间保存为endtime。
然后我得到开始和结束时间之间的平均时间。
您可以使用自动设置的TIMESTAMP
列,以便在插入时具有默认值CURRENT_TIMESTAMP
。使用此列,您可以随时查看记录的创建时间。
CREATE TABLE `t1` (
`date_created` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
在大多数应用程序中,在具有时间相关信息(博客:文章、评论、用户;电子商务:产品、购物车、订单、发票、客户(的表上设置date_created
和date_updated
列是非常常见的做法。
CREATE TABLE `t1` (
`date_created` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
`date_updated` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);