gpt4 book ai didi

sql - 如何计算包含sql中一个点的矩形

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:42:58 25 4
gpt4 key购买 nike

我在 SQL (Teradata) 中遇到以下问题。我在网格上得到了一系列(数千个)重叠的矩形。有没有一种有效的方法来存储矩形数据,以便仅使用 SQL,我可以为每个点计算包含它的矩形数?在某些情况下,我们谈论的是数千个矩形和数百万个点。一个小规模的例子:

在 5x5 网格上,两个矩形坐标 (x1,y1,x2,y2) 在 (1,1,4,4) 和 (2,2,5,5) 处,生成的矩阵将是

11110
12221
12221
01111

我如何使用 sql 计算这个?最终的数据格式将是一个包含“x”、“y”和“count”列的表格,其中 count 表示矩阵中 x,y 处的值

最佳答案

您可以将矩形存储在表 rects 中,列为 x1y1x2y2,即两对列,每个坐标一个。对于给定的点 (x,y),您可以像这样检索包含它的矩形的数量:

SELECT COUNT(*) FROM rects WHERE x1 <= x AND x2 >=x AND y1 <= y AND y2 >= y

关于sql - 如何计算包含sql中一个点的矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34379657/

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