我有两张桌子,一张大致如下:
client_ip server_ip speed
--------- --------- -----
1.2.3.4 9.1.2.3 100
1.2.3.5 9.1.2.3 1033
还有一个有地理数据的:
ip latitude longitude
------- -------- ---------
1.2.3.4 13.75 100.21
1.2.3.5 21.1234 141.21
9.1.2.3 13.75 99.21
我想编写一个选择查询,找出两个 IP 地址之间的大圆距离,按它分组,并计算平均速度。因此,例如,理想的输出将类似于:
distance avg(speed)
-------- ----------
21 99
100 1234
虽然我知道在 SQL 中获得大圆距离方面有很好的资源,但我对如何有效地连接这两个表有点模糊,因为两者都相当大(数百万行)。
有什么建议吗?