我想在postgres中进行一个查询,该查询应该带来前一小时更新的记录数
For example 9AM-10AM records updated is 100 means I should get 100.
10AM-11AM records update is 200 means I should get 200(not 300).
更新列2011-02-03 09:00:00
中的示例时间戳
我试过这样的
select count(*) from customer where updated>=now()-1 and updated<now()
我知道现在() - 1将在昨天。我不知道如何从现在开始减去一个小时
答案 0 :(得分:0)
这应该可以使用date/time related functions and operations provided by Postgres:
来实现where updated between
(date_trunc('hour',current_timestamp) - interval '1 hour')
and
(date_trunc('hour',current_timestamp))
说明:
date_trunc('hour',current_timestamp)
将当前时间设置为分钟,秒和毫秒设置为0和
- interval '1 hour'
从给定的时间戳减去一小时。
将这些组合起来创建您想要的范围(between
)