【MySQL】Power 函数、Sqrt 函数、Round 函数的运用

力扣题

1、题目地址

612. 平面上的最近距离

2、模拟表

Point2D 表:

Column Name Type
x int
y int
  • (x, y) 是该表的主键列(具有唯一值的列的组合)。
  • 这张表的每一行表示 X-Y 平面上一个点的位置

3、要求

p1(x1, y1) 和 p2(x2, y2) 这两点之间的距离是 sqrt((x2 - x1)2 + (y2 - y1)2) 。

编写解决方案,报告 Point2D 表中任意两点之间的最短距离。保留 2 位小数 。

返回结果格式如下例所示。

示例 1:

输入:
Point2D table:

x y
-1 -1
0 0
-1 -2

输出:

shortest
1.00

解释:
最短距离是 1.00 ,从点 (-1, -1) 到点 (-1, 2) 。

4、代码编写

知识点

Power(2, 3) = 8(2的3次方),第一个参数是数字,第二个参数表示几次方
Sqrt(4) = 2,参数是数字,返回数字的平方根
Round(0.33333, 2) = 0.33,第一个参数是数字,第二个参数表示保留几位小数

代码

SELECT ROUND(
	MIN(
		SQRT(
			POWER((two.x - one.x), 2) + POWER((two.y - one.y), 2)
		)
	)
	, 2
) AS shortest
FROM Point2D one, Point2D two
WHERE (one.x, one.y) != (two.x, two.y)

你可能感兴趣的:(#,MySQL,mysql)