阿里云瑶池数据库SQL挑战令题目三

简介: 阿里云瑶池数据库SQL挑战令题目三
题目:

该表的每一行包含一个点的三维坐标,写一个sql查询,计算每个三角形的面积,保留两位小数。

解题思路:

首先需要知道关于三维坐标的三角形面积的求解公式,然后才能进行计算,否则的话就没有办法进行计算处理:

DM的处理

计提思路:

第一步、先进行行转列的处理

select t.id,

(select p.x from Point p where  t.`pointId1` =p.id) as px1,

(select p.y from Point p where  t.`pointId1` =p.id) as py1,

(select p.z from Point p where  t.`pointId1` =p.id) as pz1,

(select p.x from Point p where  t.`pointId2` =p.id) as px2,

(select p.y from Point p where  t.`pointId2` =p.id) as py2,

(select p.z from Point p where  t.`pointId2` =p.id) as pz2,

(select p.x from Point p where  t.`pointId3` =p.id) as px3,

(select p.y from Point p where  t.`pointId3` =p.id) as py3,

(select p.z from Point p where  t.`pointId3` =p.id) as pz3

from `triangle`  t   where  t.id=1

第二步,代入公式计算是否正确:

select id as TriangleId ,round(((px2-px1)*(px3-px1)*(py2-py1)*(py3-py1)*(pz2-pz1)*(pz3-pz1))/2,2) as Area from (

select t.id,

(select p.x from Point p where  t.`pointId1` =p.id) as px1,

(select p.y from Point p where  t.`pointId1` =p.id) as py1,

(select p.z from Point p where  t.`pointId1` =p.id) as pz1,

(select p.x from Point p where  t.`pointId2` =p.id) as px2,

(select p.y from Point p where  t.`pointId2` =p.id) as py2,

(select p.z from Point p where  t.`pointId2` =p.id) as pz2,

(select p.x from Point p where  t.`pointId3` =p.id) as px3,

(select p.y from Point p where  t.`pointId3` =p.id) as py3,

(select p.z from Point p where  t.`pointId3` =p.id) as pz3

from `triangle`  t  )  tt

相关文章
|
18天前
|
SQL 缓存 监控
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
本文详细解析了数据库、缓存、异步处理和Web性能优化四大策略,系统性能优化必知必备,大厂面试高频。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
|
5天前
|
SQL 数据库
gbase 8a 数据库 SQL优化案例-关联顺序优化
gbase 8a 数据库 SQL优化案例-关联顺序优化
|
19天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
20天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
1月前
|
SQL 数据采集 监控
局域网监控电脑屏幕软件:PL/SQL 实现的数据库关联监控
在当今网络环境中,基于PL/SQL的局域网监控系统对于企业和机构的信息安全至关重要。该系统包括屏幕数据采集、数据处理与分析、数据库关联与存储三个核心模块,能够提供全面而准确的监控信息,帮助管理者有效监督局域网内的电脑使用情况。
19 2
|
2月前
|
SQL JSON Java
没有数据库也能用 SQL
SPL(Structured Process Language)是一款开源软件,允许用户直接对CSV、XLS等文件进行SQL查询,无需将数据导入数据库。它提供了标准的JDBC驱动,支持复杂的SQL操作,如JOIN、子查询和WITH语句,还能处理非标准格式的文件和JSON数据。SPL不仅简化了数据查询,还提供了强大的计算能力和友好的IDE,适用于多种数据源的混合计算。
|
2月前
|
SQL 数据库
SQL数据库基础语法入门
[link](http://www.vvo.net.cn/post/082935.html)
|
19天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
34 1
|
21天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
35 4
|
28天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
156 1