-1

这是我的桌子

标识 | 距离(公里) | 子距离 (KM) | Iri_avg
-------------------------------------------------
 1 | 13.952 | 0 | 0.34
 2 | 13.957 | 0.005 | 0.22
 3 | 13.962 | 0.010 | 0.33
 4 | 13.967 | 0.015 | 0.12
 5 | 13.972 | 0.020 | 0.35
 ...

例如,我想找到Iri_avg每个范围的 AVG。

每 5 米(默认) 每 10 米 每 100 米 每 500 米

解决这个问题的 PostgreSQL 查询是什么?

4

1 回答 1

1

你的问题不清楚。您的数据有两个距离列,您指的是哪一个?

这是一个如何根据子距离获取平均值的示例。

select floor(subdistance*1000)/5.0)*5.0 as lower_bound, avg(iri_avg) as avg_ari_avg
from t
group by floor(subdistance*1000)/5.0)*5.0
order by 1

表达式“floor(subdistance*1000)/5.0)*5.0”得到最接近的小于该值的 5 米增量。您可以将“5”替换为“10”或“100”以进行其他分箱。

这是为了说明。目前尚不清楚您要分箱哪一列,您想对空箱做什么,以及您是在单个查询中查找所有箱宽还是只处理一个箱宽的查询。

于 2012-07-28T13:07:23.817 回答