是否可以仅选择间隔已过去的记录?
例如在带有分组依据的表中进行选择,如下所示:
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
(或更旧)的记录,而没有在{{1}之间添加记录}至10:30:30
。
换句话说,如果我在某个时间间隔内查询,则等待它通过,然后再显示记录。
请注意,查询可能不会总是在同一时间(10:30:59
或第二时间进行查询。{p>
因此该子句的结果应为:
10:30:55
例如,它是在10:30:51
制造的。
答案 0 :(得分:0)
imageSource
我对当前日期bitmap can't be converted implicitly to imageSource.
进行了硬编码,但是您可以改用SELECT max(timestamp), name, count(name)
FROM table1
WHERE UNIX_TIMESTAMP(timestamp) DIV 30 <
UNIX_TIMESTAMP('2010-11-16 10:30:55') DIV 30
GROUP BY UNIX_TIMESTAMP(timestamp) DIV 30, name
;
函数
输出
'2010-11-16 10:30:55'
如果只想要最后一个组,则添加
NOW()