LeetCode(数据库)- 平面上的最近距离

简介: LeetCode(数据库)- 平面上的最近距离

题目链接:点击打开链接

题目大意:略。

解题思路:注意:将 MIN() 放在 SQRT() 里面会轻微提高性能;解决方案(2)中,因为有一部分是会重复的(笛卡儿积),所以取其中一边进行计算即可。

AC 代码

--解决方案(1)
SELECTCAST(SQRT(MIN(POW(p1.x-p2.x, 2) +POW(p1.y-p2.y, 2))) ASDECIMAL(7, 2)) shortestFROMpoint_2dp1, point_2dp2WHERE!(p1.x=p2.xANDp1.y=p2.y)
--解决方案(2)
SELECTt1.x,
t1.y,
t2.x,
t2.y,
SQRT((POW(t1.x-t2.x, 2) +POW(t1.y-t2.y, 2))) ASdistanceFROMpoint_2dt1JOINpoint_2dt2ON (t1.x<=t2.xANDt1.y<t2.y)
OR (t1.x<=t2.xANDt1.y>t2.y)
OR (t1.x<t2.xANDt1.y=t2.y);
目录
相关文章
|
4月前
|
存储 关系型数据库 Serverless
PostgreSQL计算两个点之间的距离
PostgreSQL计算两个点之间的距离
426 60
|
存储 数据可视化 关系型数据库
|
数据库
LeetCode(数据库)- 直线上的最近距离
LeetCode(数据库)- 直线上的最近距离
87 0
|
数据库
LeetCode(数据库)- 矩形面积
LeetCode(数据库)- 矩形面积
104 0
|
SQL 关系型数据库 MySQL
mysql 计算两个经纬度之间的距离
mysql 计算两个经纬度之间的距离
213 0
mysql 计算两个经纬度之间的距离
|
数据库
LeetCode(数据库)- 判断三角形
LeetCode(数据库)- 判断三角形
116 0
|
数据库
LeetCode(数据库)- 找到连续区间的开始和结束数字
LeetCode(数据库)- 找到连续区间的开始和结束数字
108 0
|
数据库
LeetCode(数据库)- 查询具有最多共同关注者的所有两两结对组
LeetCode(数据库)- 查询具有最多共同关注者的所有两两结对组
103 0
|
数据库
LeetCode(数据库)- 连续出现的数字
LeetCode(数据库)- 连续出现的数字
99 0