Sql 如何获取过去5分钟的数据?
如果我写:Sql 如何获取过去5分钟的数据?,sql,postgresql,Sql,Postgresql,如果我写: SELECT * FROM table WHERE date >= NOW - INTERVAL '5 MINTUE'; 我将获取最后5分钟的所有数据,但第一分钟和最后一分钟不会是完整的几分钟,可能是部分的几分钟。意思是如果“NOW()”是4:30:24,那么NOW()-间隔“5分钟”将使我从4:25:24到4:30:24。第25分钟是不完整的,只包含36秒,与第30分钟相同,它只包含24秒 我怎样才能得到最后的5分钟?我考虑删除第一分钟和最后一分钟或min / max,但是
SELECT *
FROM table
WHERE date >= NOW - INTERVAL '5 MINTUE';
我将获取最后5分钟的所有数据,但第一分钟和最后一分钟不会是完整的几分钟,可能是部分的几分钟。意思是如果“NOW()”是4:30:24,那么NOW()-间隔“5分钟”将使我从4:25:24到4:30:24。第25分钟是不完整的,只包含36秒,与第30分钟相同,它只包含24秒
我怎样才能得到最后的5分钟?我考虑删除第一分钟和最后一分钟或min / max,但是当我考虑分钟(58, 59, 60,01, 02)时,这个想法变成了一个挑战。在这种情况下,min/max不考虑60分钟后循环返回0
任何想法都会有帮助。您可以使用
date\u trunc()
:
选择*
从桌子上
其中date>=date\u trunc('minute',now())-间隔'5分钟'
日期
试试这样的方法
SELECT *
FROM table
WHERE date >= DateADD(mi, -5, Current_TimeStamp)
啊。。。天才!很好的小功能。非常感谢。
SELECT *
FROM table
WHERE date >= DateADD(mi, -5, Current_TimeStamp)