按工厂轮班时间对 table 数据 (id,machine_id,telemetry_time,riskscore,current) 进行分组,并将日期视为轮班开始时间
grouping the table data(id,machine_id,telemetry_time,riskscore,current) by plant shift time and considering date as shift startime
我有一个带有时间戳的 table 和一些其他指标,例如风险评分和 machine.Here 工厂轮班的电流从上午 08:00 开始并在第二天 08:00 结束.
我想按时间戳的日期(班次:08:00am 到第二天 08:00am)对数据进行分组,并将其标记为班次开始 date.i 有 6 个月的数据。)
预期输出:
machine | date | avg_riskscore | avg_current
2 | 2020-12-02 | 25.5 | 10
这里这条记录是“2020-12-02 08:00:00”和“2020-12-03 08:00:00”之间的一组数据,应该插入日期为“2020-” 12-02'
这里我需要像这样汇总 6 个月的数据。
您可以将时间戳偏移 8 小时,然后截断为日期并聚合。根据您的 fiddle,那将是:
select
equipment_id,
(telemetry_time - interval '8 hour')::date as date,
avg(riskscore) as avg_riskscore,
avg(i_rms) as avg_i_rms
from telemetry_test
group by equipment_id, date
我有一个带有时间戳的 table 和一些其他指标,例如风险评分和 machine.Here 工厂轮班的电流从上午 08:00 开始并在第二天 08:00 结束. 我想按时间戳的日期(班次:08:00am 到第二天 08:00am)对数据进行分组,并将其标记为班次开始 date.i 有 6 个月的数据。) 预期输出:
machine | date | avg_riskscore | avg_current
2 | 2020-12-02 | 25.5 | 10
这里这条记录是“2020-12-02 08:00:00”和“2020-12-03 08:00:00”之间的一组数据,应该插入日期为“2020-” 12-02'
这里我需要像这样汇总 6 个月的数据。
您可以将时间戳偏移 8 小时,然后截断为日期并聚合。根据您的 fiddle,那将是:
select
equipment_id,
(telemetry_time - interval '8 hour')::date as date,
avg(riskscore) as avg_riskscore,
avg(i_rms) as avg_i_rms
from telemetry_test
group by equipment_id, date