是否可以只选择间隔已过的记录?
例如,在select with group by表格中: TABLE (timestamp(timestamp), name(VARCHAR))
```
timestamp name
2010-11-16 10:30:01 John
2010-11-16 10:30:02 John
2010-11-16 10:30:03 John
2010-11-16 10:30:31 John
2010-11-16 10:30:32 John
2010-11-16 10:30:33 John
查询:
SELECT max(timestamp), name, count(name)
FROM table
GROUP BY UNIX_TIMESTAMP(timestamp) DIV 30, name
结果是:
timestamp name count(name)
------------------- ---- -----------
2010-11-16 10:30:03 John 3
2010-11-16 10:30:33 John 3
这将按以下记录分组: `hour:minute:00 to hour:minute:29` 发件人: `hour:minute:30 to hour:minute:59` 如果我在 `10:30:55` ,我只想获取上一个间隔中的记录 `10:30:00` 至 `10:30:29` (和更老的)之间没有添加记录 `10:30:30` 至 `10:30:59` .
换句话说,如果在某个时间间隔内查询,则在显示记录之前等待它通过。注意:查询可能不总是同时进行( `10:30:55` )可能是的 `10:30:51` 或者别的什么。
因此,该条款的结果应该是:
timestamp name count(name)
------------------- ---- -----------
2010-11-16 10:30:03 John 3
如果是在 `2010-11-16 10:30:55` 例如。
1条答案
按热度按时间2cmtqfgy1#
sql演示
我硬编码当前日期
'2010-11-16 10:30:55'
但你可以用NOW()
改为函数输出
如果只需要最后一组,则添加