按时间分组,但不使用特定的表列?

时间:2014-09-04 14:46:41

标签: mysql

我有一个看起来像这样的数据库: ID#timein timeout

我想以5分钟的间隔逐步查询数据。在每5分钟一次,我将检查每个ID#,看看它是否已根据时间/外出标记登录或注销。

我可以分组以获得此效果吗?

1 个答案:

答案 0 :(得分:0)

因此,要在用户登录时获取当前时间戳,ID和1,请使用此查询

SELECT NOW(), id, 1 FROM `Logs` WHERE `timein` > `timeout` AND `timein` BETWEEN (DATE_SUB(NOW(),INTERVAL 5 MINUTE)) AND NOW()

将返回条目(用户在5分钟内登录几次)

2014-09-05 09:14:14, 546, 1
2014-09-05 09:16:34, 546, 1
2014-09-05 09:17:59, 138, 1

但是没有逻辑问题吗?如果您在用户登录时写入数据库,而不是写入timeout列的数据库?最好有id | action | date而不是用户登录时获取

SELECT DISTINCT(id), date FROM `Logs` WHERE action = `login` ORDER BY date DESC

将返回条目(仅限登录时间)

138, 2014-09-05 09:17:59
546, 2014-09-05 09:16:34