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

Ale*_*uez -6 sql sql-server mean

我有一张司机速度和路段表:

driver_lpr    |   segment    |    speed
  0000001     |       A      |     30
  0000002     |       B      |     60
  0000003     |       A      |     50
  0000004     |       A      |     100
  0000005     |       B      |     60
Run Code Online (Sandbox Code Playgroud)

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

segment   |   average speed
   A      |         47.368
   B      |         60
Run Code Online (Sandbox Code Playgroud)

如何在SQL中完成?

Uri*_*ren 20

平均速度时,需要调和平均值.

直接的AVG()方法是错误的,算术平均值会产生平均速度的错误结果.

调和均值没有预定义函数,但可以使用此查询实现:

SELECT segment,
       COUNT(*)/SUM(1e0/speed) AS avg_speed
FROM T 
GROUP BY segment
Run Code Online (Sandbox Code Playgroud)

SQL小提琴