跳转到内容
Telemetry
数据质量 SQL查询示例

分别统计传感器消息送达次数与测量次数

用 SQL 查询六条虚构的传感器送达记录。网络重发会增加行数,却不会增加测量次数,因此按行计算的均值会改变。

入门sensor_deliveries已审核 2026-09-24测试用 阿帕奇 DataFusion 45.2.0

审阅者 Telemetry产品团队 上 . 我们检查了 SQL 语法、必需的事件字段、示例结果和查询使用限制. 谁负责审核此页面

问题已回答

传感器测了六次,还是网络把四次测量送达了六次?

一次送达是一条收到的事件。在这组虚构数据中,reading_id 标识一次实际测量。计数和求均值时,要选能回答问题的数据单位。

事件结构

查询期望的字段

字段类型为什么存在
reading_idUtf8虚构测量的标识。
measured_secondInt64练习开始后,传感器测量的秒数。
delivered_secondInt64练习开始后,网络消息送达的秒数。
co2_ppmInt64虚构的 CO₂ 读数,单位为 ppm;不能用于健康评估。
DataFusion SQL

复制查询

sql
WITH per_reading AS (
  SELECT reading_id, MIN(co2_ppm) AS co2_ppm
  FROM sensor_deliveries
  GROUP BY reading_id
),
delivery_summary AS (
  SELECT COUNT(*) AS deliveries, AVG(co2_ppm) AS delivered_mean_ppm
  FROM sensor_deliveries
),
measurement_summary AS (
  SELECT COUNT(*) AS measurements, AVG(co2_ppm) AS measurement_mean_ppm
  FROM per_reading
)
SELECT deliveries, measurements, delivered_mean_ppm, measurement_mean_ppm
FROM delivery_summary CROSS JOIN measurement_summary;

此只读查询是针对空类型表计划和执行的 阿帕奇 DataFusion 45.2.0。确定性样本输出是综合的并单独审查;根据您自己的数据验证字段类型、阈值和业务定义。 阅读测试方法。

查询结果

两种统计单位,两种均值

六次送达对应四次测量。两个均值使用同一组虚构数值,但回答的是不同问题。

deliveriesmeasurementsdelivered_mean_ppmmeasurement_mean_ppm
64700675

综合示例输出。在将其用于操作决策之前,针对您自己的事件架构和阈值运行查询。

Two grains, two averages:来自 Count sensor deliveries and measurements separately 示例结果的合成 measurement_mean_ppm 值的静态图表
确定性示例输出的可索引 SVG。下载它以获取带有归属的文章、操作手册或设计评论。

重现示例

下载示例数据

JSON 包包含类型化事件契约, reproducible 输入行、确切的 SQL、预期输出、审阅注释和引擎版本。 CSV 包含显示的结果。

SQL 是如何工作的

  1. 1第一个 CTE 按 reading_id 对送达记录分组,因此 r4 的重发不会算作新测量。
  2. 2按送达行计算的均值是 700 ppm;按四次测量计算的是 675 ppm。两者都不一定是教室空气按时间加权的均值。
  3. 3这里使用 MIN 只因为同一 reading_id 的每条虚构记录都有相同的 co2_ppm。去重真实数据前要检查是否有冲突值。

需要检查的边界情况

  • 两次不同的测量可能得到相同的 CO₂ 数值;AVG(DISTINCT co2_ppm) 会错误地把它们合并。
  • 真实的读数 ID 可能在不同设备间冲突,也可能在重启后复用。分组真实事件前,要先明确测量标识规则。
  • 这组虚构 CO₂ 数值不能用于通风或健康决策。真实使用还需检查校准、安装位置、缺失读数和时间覆盖范围。

推荐仪表板

  • 表格:一次练习中的送达次数、测量次数和两个均值

警报指导

这组虚构教学数据不适用于真实的 CO₂ 告警。

读取警报设置

设置此查询需要的事件

相关埋点和指南

继续分析

在你的事件上运行

创建表,调整字段并保存结果

免费开始,发送结构化事件,并将查询结果用作图表、共享仪表板小部件或警报输入。

获取 API 密钥