2013-11-05 40 views
0

之後插入有沒有辦法找出兩個行後互相插入?的MySQL找出兩排互相

我有表是這樣的:

table1的

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

請重新考慮您的表格結構。這在我看來並沒有多大意義。在這種情況下,ID和'auto_increment'的基本用法可能就足夠了。 –

+0

@RobinCastlin是表有autoincreament和id,現在生病修復表。 –

回答

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 
);