我有一张表,允许用户存储devices
的不同指标。 devices
可以是不同的类型(例如IoT),并且具有不同的指标。
例如车队跟踪设备可能具有speed
,distanceTravelled
,tripDuration
,而农业传感器可能具有temperature
,humidity
。
请注意,单个资产中不一定有相同数量的指标。例如tripDuration
每天可能仅更新几次,而speed
可能每分钟更新两次。
create table metric_history
(
device_id uuid not null,timestamp timestamp,metric_name text,value double precision
);
我目前正在使用允许用户在其设备上运行自定义历史报告的系统。这些报告是汇总报告。
例如,跟踪车队的客户可能希望创建一份报告,显示其本周每个设备的情况:
- 最大速度:
MAX(speed)
- 平均速度:
AVG(speed)
- 旅行次数:
COUNT(tripDuration)
- 平均旅行时长:
AVG(tripDuration)
- 等
我将如何查询类似的内容(希望能有效地进行查询)?努力想出办法解决问题。