2017-06-13 72 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'; 

谢谢你们反正。

相关问题