Python 2.6 - 如何从时间戳获取点钟时间



我正在使用一个cx_Oracle数据库,其中记录具有每个timestampvalue列。我需要为每小时存储的记录详细说明 avg、min、sum 或其他聚合函数(根据配置文件((每天 24 个插槽:00-01、01-02... 23-00(。每个表都以不同的时间戳开头,可能是十年前或昨天,因此我应该考虑从第一个时间戳的小时开始聚合记录。假设第一个时间戳是 14h:43m:20s,此记录将存储在 14-15 插槽中。问题是计算对应于该时间戳的 14:00 点的时间戳的最佳方法是什么?然后我想使用timedelta + 1h算术进行一小时的步骤,做我需要的。无论如何,如果这不是最好的方法,我接受任何建议。

你的问题更多的是关于SQL而不是python。这就是我通过SQL获取平均值(或其他聚合(的方式。

select avg(EXTRACT(HOUR FROM <timestamp>)) as avg_hrs, 
min(EXTRACT(HOUR FROM <timestamp>)) as min_hrs, 
sum(EXTRACT(HOUR FROM <timestamp>)) as sum_hrs
from <table>;

总和没有意义,但我把它留给你去找它有用。这是另一个计数查询。希望这有帮助。

select EXTRACT(HOUR FROM <timestamp>) as hrs, count(*) as cnt
from <table>
group by EXTRACT(HOUR FROM <timestamp>)
order by 1;

最新更新