0

有没有办法找出在彼此之后插入的两行?

我有这样的表:

表格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”时间保存为结束时间。

然后我得到开始和结束时间之间的平均时间。

4

1 回答 1

1

您可以使用自动TIMESTAMP列集来设置默认值CURRENT_TIMESTAMPon insert。使用此列,您始终可以查看创建记录的时间。

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
);
于 2013-11-05T07:54:56.847 回答