当前位置: 首页 > 知识库问答 >
问题:

用于 ST_Distance 函数的 postgis postgres 计数和按列分组

朱渝
2023-03-14

此SQL生成以下内容:

SELECT city FROM travel_logs ORDER BY ST_Distance(travel_logs.start_point, ST_GeographyFromText('SRID=4326;POINT(101.652506 3.167610)')) 

"Tshopo"
"Tshopo"
"Mongala"
"Haut-Komo"

此SQL生成以下内容:

SELECT city, count(*) AS count FROM travel_logs GROUP BY travel_logs.start_point, city ORDER BY ST_Distance(travel_logs.start_point, ST_GeographyFromText('SRID=4326;POINT(101.652506 3.167610)')) 

"Tshopo";1
"Tshopo";1
"Mongala";1
"Haut-Komo";1

基本上,我希望得到这样的结果,按城市分组,以及相同城市出现的次数。像这样的

"Tshopo";2  <--- its summed up correctly
"Mongala";1
"Haut-Komo";1

我不是联接、子查询方面的专家,这会有帮助吗?提前谢谢。

共有1个答案

奚光霁
2023-03-14

这对我很有用:

select city, count(*) as count
from
(SELECT city FROM travel_logs ORDER BY ST_Distance(travel_logs.start_point, ST_GeographyFromText('SRID=4326;POINT(101.652506 3.167610)'))
) as subquery_travel_logs_nearest group by city
 类似资料:
  • 我们正在开发一个应用程序,该应用程序涉及根据PostgreSQL表中存储的多边形计算给定点的最短距离。 我们正在使用PostgreSQL数据库中的ST_距离函数。 当我们将计算出的距离与Google Earth进行比较时,两者之间存在着巨大的差异。 当然,谷歌和PostgreSQL都不可能是错的(或者是错的?),所以我们显然遗漏了一些东西。 你知道怎么回事吗? 我在下面给出了我们用PostgreS

  • 本文向大家介绍pandas数据分组groupby()和统计函数agg()的使用,包括了pandas数据分组groupby()和统计函数agg()的使用的使用技巧和注意事项,需要的朋友参考一下 数据分组 使用 groupby() 方法进行分组 group.size()查看分组后每组的数量 group.groups 查看分组情况 group.get_group('名字') 根据分组后的名字选择分组数据

  • 我有一个熊猫数据框,格式如下: df: 现在我想将其分为两列,如下所示: 输出: 我想得到每一行的计数,如下所示。预期产出: 如何获得我的预期输出?我想找出每个“col2”值的最大计数?

  • 我们目前的生态系统是graphite/grafana,我们使用codahale metrics java库。 我定义了一个计数器 每次点击我们的应用程序都会增加 我们通过codahale观察到的是,计数器是一个累加值。。。当我们查看grafana中的原始数据时,它在一段时间内是一个不断增加的值 我在graphite中使用了哪些函数,以便获得每分钟的请求计数 我试过这个 还有这个 这似乎是不对的,有

  • 我从这个URL刮取了这个表: "https://www.patriotsoftware.com/blog/accounting/average-cost-living-by-state/" 看起来像这样: 然后我编写了这个函数来帮助我将字符串转换成整数: 当我只将函数应用于一列时,它就会工作。我在这里找到了关于在多个列上使用的答案:如何将函数应用于多个列 但我下面的代码不起作用,也不会产生错误:

  • 我必须从二维坐标计算希尔伯特曲线上的距离。使用hilbertcurve包,我构建了自己的“hilbert”函数。坐标存储在数据帧(列1和列2)中。如您所见,我的函数在应用于两个值(test)时有效。 然而,它只是不工作时,应用行明智通过应用函数!这是为什么呢?我到底做错了什么?我需要一个额外的列“希尔伯特”,希尔伯特距离在列“col_1”和“col_2”中给出。 最后一个命令以错误结束: 谢谢你的