如 final_value 字段為 varchar 字符串類型,需先轉為浮點型,再求平均值
① final_value 有小數點,字符串轉浮點數
select final_value :: float from monitor_data limit 2;
② final_value 為整數,才可以將字符串轉整數
select final_value :: integer from monitor_data limit 2;
③ 求平均值(7天內某個時間段的平均值)
select avg(g.a) from
(select AVG(final_value :: float) as A from monitor_data where create_time >= '2022-02-24 08:00:00' and create_time < '2022-02-24 08:15:00'
union all
select avg(final_value :: float) as A from monitor_data where create_time >= '2022-02-23 08:00:00' and create_time < '2022-02-23 08:15:00'
union all
select avg(final_value :: float) as A from monitor_data where create_time >= '2022-02-22 08:00:00' and create_time < '2022-02-22 08:15:00'
union all
select avg(final_value :: float) as A from monitor_data where create_time >= '2022-02-21 08:00:00' and create_time < '2022-02-21 08:15:00'
union all
select avg(final_value :: float) as A from monitor_data where create_time >= '2022-02-20 08:00:00' and create_time < '2022-02-20 08:15:00'
union all
select avg(final_value :: float) as A from monitor_data where create_time >= '2022-02-19 08:00:00' and create_time < '2022-02-19 08:15:00'
union all
select avg(final_value :: float) as A from monitor_data where create_time >= '2022-02-18 08:00:00' and create_time < '2022-02-18 08:15:00' ) g