获取7天前全天列数据的最大值



使用pyodbc用于python和postgreSQL数据库,我希望从脚本的运行日期收集7天前特定日期的最大数据。表中有以下可能有用的列:时间戳(yyyy-MM-dd hh:mm:ss.ffff)、年、月、日。

我试过以下几个

mon = currentDate - dt.timedelta(days=7)
monPeak = cursor.execute("SELECT MAX(total) FROM {} WHERE timestamp = {};".format(tableName, mon)).fetchval()

错误42883:operator不存在:timestamp with timezone = integer

monPeak = cursor.execute("SELECT MAX(total) FROM {} WHERE timestamp = NOW() - INTERVAL '7 DAY'".format(tableName)).fetchval()

没有错误,但值返回为'None'(我不认为这是一个可行的解决方案,因为我想要一整天的最大值,而不是那个特定的时间)

我尝试了几种不同的方法来合并db表中的年、日期和时间列,但都没有效果。目标是收集前一周每天的最大数据。什么好主意吗?

如果要进行日期比较,则必须将时间戳转换为日期。

WHERE timestamp::date = (NOW() - INTERVAL '7 DAY')::date

请注意,时间戳到日期的转换不是不可变的,它们取决于您当前的时区设置。

相关内容

  • 没有找到相关文章

最新更新