小编典典

如何计算路段的多个路段的平均速度?

sql

我有一张驾驶员速度和路段的表格:

driver_lpr    |   segment    |    speed
  0000001     |       A      |     30
  0000002     |       B      |     60
  0000003     |       A      |     50
  0000004     |       A      |     100
  0000005     |       B      |     60

我想要一张每段平均速度的表格

segment   |   average speed
   A      |         47.368
   B      |         60

如何在SQL中完成此操作?


阅读 175

收藏
2021-04-15

共1个答案

小编典典

在平均速度时,需要谐波平均值

直截了当的AVG()方法是错误的,算术平均值对平均速度产生了错误的结果。

谐波均值没有预定义的函数,但是可以通过以下查询实现:

SELECT segment,
       COUNT(*)/SUM(1e0/speed) AS avg_speed
FROM T 
GROUP BY segment
2021-04-15