gpt4 book ai didi

sql - 如何根据位置接近度取平均值

转载 作者:搜寻专家 更新时间:2023-10-30 19:43:57 24 4
gpt4 key购买 nike

我有一个带有地理标记值(经度、纬度、值)的 SQL 表。该表积累很快,有数千个条目。因此,查询表中某些区域的值会返回非常大的数据集。

我想知道如何通过位置接近一个值来求平均值,这里有一个例子:

表:

Long            lat           value
10.123001 53.567001 10
10.123002 53.567002 12
10.123003 53.567003 18
10.124003 53.568003 13

假设我当前的位置是 10.123004、53.567004。如果我查询附近的值,我将获得四个原始值,分别为 10、12、18 和 13。如果数据集相对较小,这会起作用。如果数据很大,我想查询 sql 的舍入位置 (10.123, 53.567) 并需要 sql 返回类似

的内容
Long            lat           value
10.123 53.567 10 (this is the average of 10, 12, and 18)
10.124 53.568 13

这可能吗?我们如何根据位置平均大数据集?

sql 数据库首先是正确的选择吗?

最佳答案

GROUP BY 四舍五入的列,AVG 聚合函数应该可以正常工作:

SELECT ROUND(Long, 3) Long, 
ROUND(Lat, 3) Lat,
AVG(value)
FROM Table
GROUP BY ROUND(Long, 3), ROUND(Lat, 3)

根据需要添加 WHERE 子句进行过滤。

关于sql - 如何根据位置接近度取平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10384076/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com