有没有办法找出彼此插入的两行?
我有这样的表:表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”的日期时间保存为开始时间。
之后我检查“X,Z”是否发生如上所述,此“X,Z”必须在时间“A,B”之后发生并保存“Z”时间为结束时间。
然后我得到开始和结束时间之间的平均时间。
答案 0 :(得分:1)
您可以使用自动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
);