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)