mysql - 使用空间查询的结果更新 mysql 表

标签 mysql sql geospatial spatial-query

我正在使用 mysql 来计算多边形要素(postsec)内点要素(商店)的数量。

我的选择查询工作正常,但我想用生成的结果更新表 postsec。我的查询如下:

select pc_sec, count(*) as count from shops 
join postsec on st_within(shops.SHAPE,postsec.SHAPE) 
where shops.shop_cat > 0 and shop_cat < 10 group by pc_sec

我尝试了多种方法来做到这一点,例如update postsec set new_column = ([select query]) 但似乎找不到正确的方法。

最佳答案

这样的东西应该有效

update postsec 
inner join 
(
   select pc_sec, count(*) as pseccount 
   from shops 
   join postsec on st_within(shops.SHAPE,postsec.SHAPE) 
   where shops.shop_cat between 1 and 9
   group by pc_sec
) x on x.pc_sec = postsec.id
set count_column = x.pseccount 

关于mysql - 使用空间查询的结果更新 mysql 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20924442/

相关文章:

c# - 如何将值从mysql传递到c#变量并保留两位小数

mysql - Grails GORM MySQL 生成 TEXT 或 LONGTEXT 列

mysql - 从 SQL 导出的 View 更新 MS Access 中的表

sql-server - SQL Server GEOGRAPHY STDistance 函数返回的结果与其他测试结果有很大差异

c# - 从中心和半径创建一个 SqlGeography 多边形圆

php - 一次将数组mysql插入数据库

mysql - 我如何避免这个mysql死锁?

MySQL 将约束表示为计算列?

对多个表进行 SQL 联接,并根据条件筛选行

mongodb - 在存储的圆圈内查找位置