Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何获取过去5分钟的数据?_Sql_Postgresql - Fatal编程技术网

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)