我试图创建一个查询发现,具有小于20分钟老查询的记录,其中存在具有最大(日)
这是一个心跳的日期至少一个记录线程表看起来像这样:
+--------------+-----------+---------------------+---------------------+
| heartbeat_id | server_id | thread | last_checkin |
+--------------+-----------+---------------------+---------------------+
| 3 | 133 | EscalationMonitor | 2016-03-16 23:46:07 |
| 7 | 133 | EmailMonitor | 2016-03-16 23:47:31 |
| 11 | 133 | TableMonitor | 2016-03-16 23:42:49 |
| 15 | 133 | NotificationMonitor | 2016-03-16 23:46:30 |
| 19 | 127 | EmailMonitor | 2016-03-16 23:47:21 |
| 23 | 127 | TableMonitor | 2016-03-16 23:46:11 |
| 27 | 127 | EscalationMonitor | 2016-03-16 23:47:58 |
| 31 | 127 | NotificationMonitor | 2016-03-16 23:41:10 |
| 35 | 123 | EmailMonitor | 2016-03-16 23:47:59 |
| 39 | 123 | TableMonitor | 2016-03-16 23:43:10 |
| 43 | 123 | EscalationMonitor | 2016-03-16 23:46:26 |
| 47 | 123 | NotificationMonitor | 2016-03-16 23:46:47 |
+--------------+-----------+---------------------+---------------------+
这是我在哪里,但这种搜索至少一个记录超过20分钟岁。
SELECT * FROM heartbeat h WHERE exists
(
select * from heartbeat h2
where last_checkin < date_add(now(), INTERVAL - 20 MINUTE)
)
group by thread
remove从'间隔除去
-
'-' - 20 MINUTE' – Saif这将意味着在未来last_checkin <20分钟... ...对吧? – JonasJSchreiber
不,它会比创建日期的20分钟更早 – Saif