题目:

表 point_2d 保存了所有点(多于 2 个点)的坐标 (x,y) ,这些点在平面上两两不重合。
写一个查询语句找到两点之间的最近距离,保留 2 位小数。

最近距离在点 (-1,-1) 和(-1,2) 之间,距离为 1.00 。所以输出应该为:

 解题思路:

建表语句:

1 create table if not exists point_2d (x int(3),y int(3));
2 truncate table point_2d
3 insert into point_2d values(-1,-1),(0,0),(-1,-2);

运用MySQL中的数学函数---sqrt(数值)求平方根

①先将表自连接,但是注意连接的条件是两个点不相同,避免后续求距离的时候算成自己与自己的距离。

1 select *
2 from point_2d p1
3 join point_2d p2
4 on (p1.x,p1.y) <> (p2.x,p2.y)

②然后运用平方根公式计算出两个点之间的距离,且用round()来保留两位小数,最后筛选出最小的距离。

1 select min(round( sqrt( pow(p1.x-p2.x,2) + pow(p1.y-p2.y,2) ),2)) as shortest
2 from point_2d p1
3 join point_2d p2
4 on (p1.x,p1.y) <> (p2.x,p2.y);

 小知识:

①平方用power(x,2),而不是x^2

②二次平方根函数:

sqrt(数值):数值如果为0,返回NULL

更多函数可参考:这位老师的博客(点我跳转)

力扣612(MySQL)-平面上的最近距离(中等)的更多相关文章

  1. 【力扣】973. 最接近原点的 K 个点

    我们有一个由平面上的点组成的列表 points.需要从中找出 K 个距离原点 (0, 0) 最近的点. (这里,平面上两点之间的距离是欧几里德距离.) 你可以按任何顺序返回答案.除了点坐标的顺序之外, ...

  2. 力扣---511. 游戏玩法分析 I

    活动表 Activity: +--------------+---------+| Column Name  | Type    |+--------------+---------+| player ...

  3. 在MySQL应用上的挑战

    本期采访的讲师是来自腾讯高级软件工程师 雷海林,他有着10年以上的Linux后台Server开发经验,目前主要从事分布式Cache.实时大数据处理引擎,分布式MySQL(TDSQL)设计和开发工作. ...

  4. JS数据结构第六篇 --- 二叉树力扣练习题

    1.第226题:翻转二叉树 递归+迭代两种实现方式: /** 反转二叉树 * Definition for a binary tree node. * function TreeNode(val) { ...

  5. C++双指针滑动和利用Vector实现无重复字符的最长子串—力扣算法

    题目: 力扣原题链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/ 给定一个字符串, ...

  6. LeetCode 1244. 力扣排行榜

    地址 https://www.acwing.com/solution/LeetCode/content/5765/ 题目描述新一轮的「力扣杯」编程大赛即将启动,为了动态显示参赛者的得分数据,需要设计一 ...

  7. LeetCode(力扣)——Search in Rotated Sorted Array2 搜索旋转排序数组 python实现

    题目描述: python实现 Search in Rotated Sorted Array2 搜索旋转排序数组   中文: 假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0 ...

  8. LeetCode(力扣)——Search in Rotated Sorted Array 搜索旋转排序数组 python实现

    题目描述: python实现 Search in Rotated Sorted Array 搜索旋转排序数组   中文:假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,1 ...

  9. 力扣——gas station (加油站) python实现

    题目描述: 中文: 在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升. 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] ...

  10. 力扣—one plus(加一) python实现

    题目描述: 中文: 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一. 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字. 你可以假设除了整数 0 之外,这个整数不会以零开头 ...

随机推荐

  1. 将谷歌chrome浏览器主题变黑的方法

    两个步骤: 第一: 桌面找到google chrome图标右键->属性,在后面加上: --force-dark-mode (注意有空格) 第二: 1.浏览器地址输入chrome://flags/ ...

  2. stm32 串口DMA源码解析

    一  DMA协议: DMA是STM32内的一个硬件模块,它独立于CPU在外围设备和内存之间进行数据传输,解放了CPU.每个型号的STM32 MCU有1-2个DMA,每个DMA有一定数量的Channel ...

  3. Python实现简易版TCP代理

    什么是TCP代理 TCP代理是一种网络代理技术,它允许客户端和服务器之间通过一个位于中间的第三方TCP代理服务器进行通信.TCP代理的工作方式是客户端向代理服务器发送TCP连接请求,代理服务器将此请求 ...

  4. 记录--Echarts绘制气泡图

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 Echarts绘制气泡图 气泡图是一种用于可视化三维数据的图表类型,其中两个变量用于确定数据点在平面上的位置,另一个变量用于确定气泡的大小 ...

  5. 快速上手系列:HTML

    一 HTML 基本元素 基本结构 <html> <head> <meta http-equiv="Content-Type" content=&quo ...

  6. 【环境配置】vscode配置C C++开发和调试环境

    按照本教程配置好之后,不再需要写任何tasks.json和launch.json文件,减轻记忆负担,即使是调试程序,也不用再写这些文件了,跟着做就能得到一个很好的集成开发环境 目录 msys2的安装与 ...

  7. JWT登录认证-项目BotBattle

    目录 session 授权认证原理 密码存储与加密 jwt(JSON Web Token)验证 JWT 的无状态认证机制 实践与调试 实现目标:在没有判断登录认证的情况下,访问任意界面,直接跳转到登录 ...

  8. 3D Object Detection Essay Reading 2024.04.01

    Swin Transformer paper: https://arxiv.org/abs/2103.14030 (ICCV 2021) code:https://github.com/microso ...

  9. #LCA,二分,树上差分#洛谷 2680 运输计划

    题目 一棵树,每条边上都有边权,现在选择一条边将边权变为0,使\(m\)条路径边权和其中一条的最大值最小,问这个值 分析 由于大于最终结果的一定可行,小于最终结果的一定不可行,所以二分答案,首先答案以 ...

  10. OpenHarmony自定义构建函数:@Builder装饰器

      前面章节介绍了如何创建一个自定义组件.该自定义组件内部UI结构固定,仅与使用方进行数据传递.ArkUI还提供了一种更轻量的UI元素复用机制@Builder,@Builder所装饰的函数遵循buil ...