gpt4 book ai didi

sql - 获取 Action 发生的次数

转载 作者:行者123 更新时间:2023-11-29 12:54:25 24 4
gpt4 key购买 nike

我需要使用 PostGIS 获取每个人进入定义为多边形的特定地点的次数。

下面是我如何开始 SQL 语句:

SELECT id_p 
FROM Movement
WHERE ST_Contains('POLYGON((long1 lat1, long2 lat2, long3 lat3, long4 lat4))',
ST_MakePoint(longitude,latitude))
AND (datehour::date BETWEEN '2017-01-01' AND '2017-01-31')
AND speed = 0

enter image description here

最佳答案

您可以尝试进行基本计数查询:

SELECT
id_p,
COUNT(*) AS cnt
FROM
Movement
WHERE
ST_Contains('POLYGON((long1 lat1, long2 lat2, long3 lat3, long4 lat4))',
ST_MakePoint(longitude,latitude)) AND
datehour::date BETWEEN '2017-01-01' AND '2017-01-31' AND
speed = 0
GROUP BY
id_p;

要加快此查询,您可以考虑向 WHERE 子句中使用的列添加索引,即 datehourspeed。您还可以考虑为调用 ST_Contains 时涉及的列创建地理空间索引。

关于sql - 获取 Action 发生的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46826344/

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