选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

使用聚合函数的查询

聚焦模式
使用聚合函数的查询 - Amazon Timestream

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

以下是物联网场景示例数据集的示例,用于说明使用聚合函数的查询。

示例数据

Timestream 使您能够存储和分析物联网传感器数据,例如一个或多个卡车车队的位置、油耗、速度和负载能力,从而实现有效的车队管理。以下是 iot_trucks 表的架构和一些数据,该表存储了卡车的位置、油耗、速度和装载能力等遥测数据。

Time 卡车_ID Make 模型 实例集 燃料容量 负载容量 measure_name measure_value::double measure_value::varchar

2019-12-04 19:00:00.000 000 000

123456781

GMC

Astro

Alpha

100

500

fuel_reading

65.2

null

2019-12-04 19:00:00.000 000 000

123456781

GMC

Astro

Alpha

100

500

负载

400.0

null

2019-12-04 19:00:00.000 00000 000

123456781

GMC

Astro

Alpha

100

500

speed

90.2

null

2019-12-04 19:00:00.000 00000 000

123456781

GMC

Astro

Alpha

100

500

location

null

47.6062 N,122.3321 W

2019-12-04 19:00:00.000 00000 000

123456782

肯沃思

W900

Alpha

150

1000

fuel_reading

10.1

null

2019-12-04 19:00:00.000 00000 000

123456782

肯沃思

W900

Alpha

150

1000

负载

950.3

null

2019-12-04 19:00:00.000 00000 000

123456782

肯沃思

W900

Alpha

150

1000

speed

50.8

null

2019-12-04 19:00:00.000 00000 000

123456782

肯沃思

W900

Alpha

150

1000

location

null

40.7128 北 40.7128 度,西 74.0060 度

示例查询

获取车队中每辆卡车正在监控的所有传感器属性和值的列表。

SELECT truck_id, fleet, fuel_capacity, model, load_capacity, make, measure_name FROM "sampleDB".IoT GROUP BY truck_id, fleet, fuel_capacity, model, load_capacity, make, measure_name

获取过去 24 小时内车队中每辆卡车的最新燃油读数。

WITH latest_recorded_time AS ( SELECT truck_id, max(time) as latest_time FROM "sampleDB".IoT WHERE measure_name = 'fuel-reading' AND time >= ago(24h) GROUP BY truck_id ) SELECT b.truck_id, b.fleet, b.make, b.model, b.time, b.measure_value::double as last_reported_fuel_reading FROM latest_recorded_time a INNER JOIN "sampleDB".IoT b ON a.truck_id = b.truck_id AND b.time = a.latest_time WHERE b.measure_name = 'fuel-reading' AND b.time > ago(24h) ORDER BY b.truck_id

找出在过去 48 小时内低油耗(低于 10%)的卡车:

WITH low_fuel_trucks AS ( SELECT time, truck_id, fleet, make, model, (measure_value::double/cast(fuel_capacity as double)*100) AS fuel_pct FROM "sampleDB".IoT WHERE time >= ago(48h) AND (measure_value::double/cast(fuel_capacity as double)*100) < 10 AND measure_name = 'fuel-reading' ), other_trucks AS ( SELECT time, truck_id, (measure_value::double/cast(fuel_capacity as double)*100) as remaining_fuel FROM "sampleDB".IoT WHERE time >= ago(48h) AND truck_id IN (SELECT truck_id FROM low_fuel_trucks) AND (measure_value::double/cast(fuel_capacity as double)*100) >= 10 AND measure_name = 'fuel-reading' ), trucks_that_refuelled AS ( SELECT a.truck_id FROM low_fuel_trucks a JOIN other_trucks b ON a.truck_id = b.truck_id AND b.time >= a.time ) SELECT DISTINCT truck_id, fleet, make, model, fuel_pct FROM low_fuel_trucks WHERE truck_id NOT IN ( SELECT truck_id FROM trucks_that_refuelled )

查找过去一周每辆卡车的平均负载量和最大速度:

SELECT bin(time, 1d) as binned_time, fleet, truck_id, make, model, AVG( CASE WHEN measure_name = 'load' THEN measure_value::double ELSE NULL END ) AS avg_load_tons, MAX( CASE WHEN measure_name = 'speed' THEN measure_value::double ELSE NULL END ) AS max_speed_mph FROM "sampleDB".IoT WHERE time >= ago(7d) AND measure_name IN ('load', 'speed') GROUP BY fleet, truck_id, make, model, bin(time, 1d) ORDER BY truck_id

获取过去一周每辆卡车的装载效率:

WITH average_load_per_truck AS ( SELECT truck_id, avg(measure_value::double) AS avg_load FROM "sampleDB".IoT WHERE measure_name = 'load' AND time >= ago(7d) GROUP BY truck_id, fleet, load_capacity, make, model ), truck_load_efficiency AS ( SELECT a.truck_id, fleet, load_capacity, make, model, avg_load, measure_value::double, time, (measure_value::double*100)/avg_load as load_efficiency -- , approx_percentile(avg_load_pct, DOUBLE '0.9') FROM "sampleDB".IoT a JOIN average_load_per_truck b ON a.truck_id = b.truck_id WHERE a.measure_name = 'load' ) SELECT truck_id, time, load_efficiency FROM truck_load_efficiency ORDER BY truck_id, time

本页内容

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。