2017-06-13 69 views
0
+----------------------------+ +----------------------------+ 
| ID |  Date   | | ID |  Date   | 
+----------------------------+ +----------------------------+ 
| 1 | 2017-06-13 22:10:01 | | 1 | 2017-06-20 22:10:50 | 
+----------------------------+ +----------------------------+ 
| 2 | 2017-06-14 13:22:20 | | 2 | 2017-06-23 22:10:55 | 
+----------------------------+ +----------------------------+ 
| 3 | 2017-06-16 22:10:01 | | 3 | 2017-06-27 22:10:35 | 
+----------------------------+ +----------------------------+ 
           | 4 | 2017-07-04 22:10:07 | 
           +----------------------------+ 

我有2個表,相同的列。第一個將是一個樣本,每週的入場時間爲1分鐘(共計10 080個入場)。而另一個則每次(1分鐘)獲得新值,無限期。如何找到匹配的時間戳?

我試圖做的是將每個新條目與第一個數據庫中的條目進行比較。但我想根據工作日和時間(同一小時和同一分鐘)進行比較。

例如,星期一11:00(無論月份,日期和年份)的條目應該與樣本數據庫中星期一11:00的條目進行比較。

我想要做的就是從樣本數據庫的條目的數量時,它的同平日在第二表中的條目:

二零一七年六月二十零日二十二時10分50秒應該返回1 。
2017年6月23日22點10分55秒應該返回3
2017年6月27日22時10分35秒應該返回1.
2017年7月4日22點10分07秒應該返回1.

編輯2:

我認爲你可以更好地理解事物當我解釋兩張表的目的時。

我的數據庫中的真實表有更多列:傳感器的ID和它們的值。
第一個表格樣本表將收到一整週的數據。它被用作參考。
第二個表每分鐘接收一次數據,當它進入時應與樣本表中的記錄進行比較以檢測值是否等於(正常值)。 所以我想通過比較相同的工作日,相同的小時和分鐘的記錄來檢測異常值。

+1

請詳細說明。顯示第二個數據庫的樣本數據和期望的結果。 – peterm

+0

我編輯了我的第一篇文章。希望這會有所幫助。 – Shin

+0

*我實際上有2個數據庫* ...我想你其實是指我有2 *表* –

回答

0

嗯,我想我找到了我正在尋找的東西。這是一個有用的鏈接:Get month from DATETIME in sqlite

這裏是匹配時間戳的方式:

//Matching weekday 
select * from table where strftime('%w', Date) = '0'; 

//Matching weekday + hours and minutes 
select * from table where strftime('%w', Date) = '0' and strftime('%H:%M', Date) = '22:10'; 

謝謝你們反正。

相關問題