用SQL解决两道有趣的题(一)

【力扣 + 牛客 | SQL题 | 每日6题】牛客SQL热题 + 力扣hard 部门 '2' 的平均薪资是(6000 + 10000)/ 2 = 8000,该平均薪资是员工号 '2' 和 '3' 的薪资的平均值。部门 '1' 的平均薪资是 9000,因为该部门只有一个员工,其员工号为 '1'。根据同样的公式,对于二月份的平均薪资比较,结果为 'same',因为部门 '1' 和 '2' 都与公司的平均薪资相同,即为 7000。-- 然后以部门和月份分组,比较分组内的平均薪资与该月份公司的平均薪资的大小。第一行表示为d001部门的经理是编号为10002的员工。 阅读详情

Oracle的SQL语句功能还是很强的,看到两道比较有趣的题,用SQL来尝试求解。

第一个问题:
已知两个1~30之间的数字,甲知道两数之和,乙知道两数之积。
甲问乙:"你知道是哪两个数吗?"乙说:“不知道”;
乙问甲:"你知道是哪两个数吗?"甲说:“也不知道”;
于是,乙说:“那我知道了”;
随后甲也说:“那我也知道了”;
这两个数是什么?
先给出SQL解,然后简单描述一下。
这道题分两种情况,两个数不重复,那么有两个可能结果:
SQL> WITH
2 T AS
3 (SELECT ROWNUM NUM FROM DUAL CONNECT BY LEVEL <= 30)
4 SELECT A, B
5 FROM
6 (
7 SELECT
8 A,
9 B,
10 TOTAL,
11 MUL,
12 COUNT() OVER (PARTITION BY MUL) MUL_P
13 FROM
14 (
15 SELECT
16 A,
17 B,
18 TOTAL,
19 MUL,
20 COUNT(
) OVER (PARTITION BY TOTAL) TOTAL_P
21 FROM
22 (
23 SELECT
24 A.NUM A,
25 B.NUM B,
26 A.NUM + B.NUM TOTAL,
27 A.NUM * B.NUM MUL,
28 COUNT(*) OVER (PARTITION BY A.NUM * B.NUM) MUL_P
29 FROM T A, T B
30 WHERE A.NUM < B.NUM
31 )
32 WHERE MUL_P != 1
33 )
34 WHERE TOTAL_P != 1
35 )
36 WHERE MUL_P = 1
37 ;
A B


1 6
1 8
如果两个数是可以重复的,那么有唯一的答案:
SQL> WITH
2 T AS
3 (SELECT ROWNUM NUM FROM DUAL CONNECT BY LEVEL <= 30)
4 SELECT A, B
5 FROM
6 (
7 SELECT
8 A,
9 B,
10 TOTAL,
11 MUL,
12 COUNT() OVER (PARTITION BY MUL) MUL_P
13 FROM
14 (
15 SELECT
16 A,
17 B,
18 TOTAL,
19 MUL,
20 COUNT(
) OVER (PARTITION BY TOTAL) TOTAL_P
21 FROM
22 (
23 SELECT
24 A.NUM A,
25 B.NUM B,
26 A.NUM + B.NUM TOTAL,
27 A.NUM * B.NUM MUL,
28 COUNT(*) OVER (PARTITION BY A.NUM * B.NUM) MUL_P
29 FROM T A, T B
30 WHERE A.NUM <= B.NUM
31 )
32 WHERE MUL_P != 1
33 )
34 WHERE TOTAL_P != 1
35 )
36 WHERE MUL_P = 1
37 ;
A B


1 4
下面简单描述一下思路:
WITH语句就是构造一张基础数据表。
最内层的循环构造两个数的笛卡儿积,列出所有的可能,不过对于我们来说,A取1,B取2和A取2,B取1没有区别,因此加上限制条件A > B。上面两个SQL唯一的区别就在这里,如果两个数是可以重复的那么A >= B,否则A > B。
循环中的分析函数用来计算A和B乘积相同的个数,如果这个数是1,说明这两个数是可以确定的。而根据乙的描述,他并不知道这两个数是什么,因此这部分应该是可以被排除的。
第二层的循环道理相同,这里排除的是A所不知道的,两个数和能确定这两个数的部分。
到了第三层,乙知道A和B是什么数了,说明这个时候A和B的积已经是唯一的。

[hive] 蚂蚁金服的两道sql题 题目 背景说明: 以下表记录了用户每天的蚂蚁森林低碳生活领取的记录流水。 table_name:user_low_carbon user_id data_dt low_carbon 用户 日期 减少碳排放(g) 蚂蚁森林植物换购表,用于记录申领环保植物所需要减少的碳排放量 table_name: plant_carbon plant_id plant_name low_car... 阅读详情

相关推荐

从零到一:华为iMaster NCE-Campus部署中的Euler OS与FusionInsight深度解析

本文深入解析华为iMaster NCE-Campus部署中Euler OS与FusionInsight的关键技术要点,包括RAID配置、网络绑定技术、安装避坑指南及性能调优方案。通过实战经验和详细配置示例,帮助工程师提升部署效率与系统稳定性,确保华为企业级解决方案的高效运行。

f6g7h8i9j的博客 547

(新版)[太原理工大学] 2022大三上 JAVAEE(体系结构)考试 选择填空判断简答

考试的选择填空判断简答,来自老师发的复习资料

m0_65589964的博客 1万+

别再死记硬背了!用这5个Qt Design Studio小项目,彻底玩转核心组件

本文通过5个Qt Design Studio实战项目,帮助开发者深入理解核心组件的协作与应用。从动态登录界面到游戏化任务列表,每个项目都展示了组件属性与交互设计的巧妙结合,让你不再死记硬背,而是真正掌握Qt Design Studio的核心技能。

weixin_29202213的博客 271

MyBatis动态Sql语句

MyBatis中对数据库的操作,有时要带一些条件,因此动态SQL语句非常有必要,下面就主要来讲讲几个常用的动态SQL语句的语法 and STU_

Evankaka的专栏 1万+

cst使用局部网格加密,手动加密,special设置等方法合理网格布局加速仿真速度

在CST中,计算复杂模型或者阵列的时候往往需要耗费大量仿真时间,除了使用更高性能的电脑或工作站进行仿真,合理对CST的仿真网格进行适当设置也是必不可少的一步。CST中网格设置影响模拟的精度和速度,因此花时间理解网格过程是很重要的。

OVEN_b612的博客 1万+

无参考图像质量评估方法:BRISQUE、RankIQA、DIQA

常用的图像质量评估(IQA)分为无参考和有参考两种类型。常见的有参考图像质量评估方法有PSNR,SSIM以及VMAF。其中vmaf是针对视频来讲的,在它的评价方法里面添加了一些时域信息,如果应用于单张图片,需要做一些处理,如去除时域信息。有参考意味着图像质量是以参考图为基准。基于参考图像都是高清图像的假设,这些评价方法已经广泛应用于图像压缩以及图像传输、拼接之类的处理后图像的质量,假如这张参考图的质量本身就比较渣,那么该评价指标可信度就大大降低。

weixin_51732791的博客 3191

Mybatis 动态SQL

Mybatis-config.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"&...

朴勇佑的专栏 239

大数据实时+离线项目架构----智慧物流大数据平台(超流行框架!)

智慧物流大数据平台 文章目录智慧物流大数据平台一、项目背景二、逻辑架构三、解决方案技术亮点:数据流转四、项目的技术选型4.1流式处理平台4.2 分布式计算平台4.3 海量数据存储框架软件版本总结 一、项目背景 本项目基于一家大型物流公司研发的智慧物流大数据平台。该物流公司是国内综合性快递、物流服务商,并在全国各地都有覆盖的网点。经过多年的积累、经营以及布局,拥有大规模的客户群,日订单达上千万。如此规模的业务数据量,传统的数据处理技术已经不能满足企业的经营分析需求。公司需要基于大数据技术构建数据中心,从而挖

weixin_48143996的博客 6430

JAVA EE:1~5章选择题

1、关于MyBatis 配文件ctypeAliases 元素说法错误的是(C)。 A.可以通过在MyBaits中配置<typeAliases>元素来定义别名 B.可以通过在类名上使用@Aliases(value =”user”)的形式定义别名 C.MyBaits配置文件<typeAliases>元素的子元素<typeAliases>需要配置type和属性alias属性 D.同时在MyBaits中配置了<typeAliases>元素以及@Alias(va

WHT869706733的博客 7889

基于IEEE39节点系统的风力发电机组并网改造与稳定性研究

本文研究了基于IEEE39节点系统的风力发电机组并网改造与稳定性问题。首先将系统工作频率从60Hz转换为50Hz,并对同步发电机、变压器、线路和负荷参数进行相应调整。随后将30、32、34、37号节点的同步发电机替换为不同容量的永磁同步发电机(PMSG)和双馈感应发电机(DFIG),详细建立了两种风电机组的数学模型和控制策略。通过Simulink仿真验证,改造后的系统能够稳定运行并满足并网要求。研究成果为大规模风电并网系统仿真提供了参考,对提高电力系统可再生能源消纳能力具有重要意义。

huanghm88的专栏 109

基于STM32的农业蔬菜大棚温湿度采集控制系统(代码+仿真+全部资料)

摘要: 本研究设计了一种基于STM32微控制器的农业蔬菜大棚温湿度智能控制系统。系统通过DHT11传感器实时采集温湿度数据,LCD屏显示当前值及预设阈值,用户可通过按键模块调整阈值范围。当温湿度超出设定阈值时,系统自动控制风扇或加湿器进行调节,确保大棚环境稳定。实验验证表明,该系统具备高精度监测、稳定控制和模块化扩展等优势,有效优化蔬菜生长环境。未来可扩展远程监控等功能,进一步提升智能化水平。 关键词: STM32、温湿度控制、蔬菜大棚、DHT11、自动化调节

3254968421的博客 785

第八章 动态SQL

单选题 1、以下关于MyBatis的元素的使用及说法正确的是()5分 A、元素主要用于更新操作,其主要作用是在动态包含的SQL语句前输出一个SET关键字,并将SQL语句中最后一个多余的逗号去除 B、使用MyBatis的元素来更新操作时,前端需要传入所有参数字段,否则未传入字段会默认设置为空 C、在映射文件中使用和元素组合进行update语句动态SQL组装时, 元素内包含的内容可以都为空,元素会进行判断处理 D、在映射文件进行更新操作时,只需要使用元素就可以进行动态SQL组装 参考答案 :A 2、以下不属于元

weixin_46066900的博客 2341

YOLO系列专栏(六):YOLO26热力图可视化 | 解析模型推理逻辑,定位检测关键区域

YOLO26作为新一代目标检测模型,其核心优势是高效的特征提取和精准的目标定位,但模型内部的推理过程的“黑盒”特性,给我们的优化带来了很大困扰:❌ 检测精度低:不知道是模型没学到关键特征,还是特征提取不充分;❌ 出现误检/漏检:无法定位问题根源——是锚框不合适?还是特征图未捕捉到目标?❌ 模型优化盲目:调参、修改网络结构全靠“猜”,缺乏针对性;❌ 难以解释模型行为:实际项目中,需要说明模型“为什么检测到这个目标”,尤其是医疗、工业等对可解释性要求高的场景。而热力图可视化。

qq_36130719的博客 732

用SQL解决两道有趣的题(二)

Oracle的SQL语句功能还是很强的,看到两道比较有趣的题,用SQL来尝试求解。 第二个问题: Gauss和Poincare在天堂相遇了,上帝说:你们都是人间最伟大的数学家,那我来出道题考考你们谁更聪明。我在左手写一个大于1小于100的数,在右手同样写一个大于1小于100的数,然后把他们的和写在Gauss手上,把积写在Poincare手上,看看你们能不能猜出这两个数字是几。 Gauss看了手上的数字,说:“我不知道这两个数字是几,可我保证Poincare也不知道。” Poincare看了手上的数字,说:“

SkidRow_xp的博客 300

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

分享两道易错的SQL题

公众号后台回复“图书“,了解更多号主新书内容 作者:胖里 来源:胖里的日常都说21天养成一个习惯,这才第5天,我都快养成每天两道SQL题的习惯了。事情是这样的,之前读了一本...

数据森麟 258

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

通过两道CTF题学习过滤单引号的SQL注入

0x00 前言 通常来说,在进行字符型的SQL注入时,都需要先将前面的引号等(以单引号为例)进行闭合才能执行我们构造的SQL语句,那么如果单引号被过滤了,是否还能够成功的SQL注入呢? 答案是可以,当你在判断登录时使用的是如下SQL语句: select user from user where user='$_POST[username]' and password='$_POST[passwor...

Lethe's Blog 2万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

几个SQL在线刷题的网站

学习Python无论是走后端开发还是准备进军数据分析,机器学习和数据挖掘,都离不开数据库的知识。而主流的数据库技术里面,SQL占据了半壁江山,可以说是非常重要,必知必会。今天给大家分享了...

cainiao_python的博客 9328

详解力扣高频SQL50题之620. 有趣的电影【入门】

没啥好说的,题目描述就是伪代码,无脑实现即可。

技术卷的博客 419

sql replace函数用法_两道精彩的SQL练习题

大家晚上好,我是阿涛。今天的主题是介绍两道SQL题,有些方法函数挺常用的,第二道是腾讯面试题。【1】在录入人员身份信息的时候,小王把人的性别编码弄错了,导致数据库中表a1的人员性别都是反的,这个时候如何快速把性别修改过来?select * from test.a1;数据是这样的:答案:updatetest.a1setssex=replace('男女',ssex,'');# or...

weixin_39635567的博客 216

LeetCode高频 SQL 50 题(基础版)—— 聚合函数(620. 有趣的电影1251. 平均售价1075. 项目员工 I1633. 各赛事的用户注册率1211. 查询结果的质量和占比)

LeetCode高频 SQL 50 题(基础版)—— 聚合函数(620. 有趣的电影1251. 平均售价1075. 项目员工 I1633. 各赛事的用户注册率1211. 查询结果的质量和占比)

wahaha51的博客 965

SQL学习指南及力扣SQL50题题解专栏介绍

本文介绍了力扣SQL刷题的学习路线和题解专栏。首先列出SQL学习的8大知识点,包括基础语法、字符串函数、日期函数、聚合与分组等,建议零基础者先补全相关知识再刷题。其次介绍了力扣高频SQL50题专栏,提供每道题的详细解析和分类导航,按难度分为入门、简单、中等三组,包含1757、584、197等典型题目链接,方便查阅练习。题解均经过验证通过,并重新标注了合理难度。

技术卷的博客 2109

【SQL刷题】秋招刷爆SQL题之更新数据

秋招刷爆SQL题之更新数据

你在看屏幕的同时,屏幕也在注视着你 1543

关于腾讯两道sql问题的解法

题目详见:https://zhuanlan.zhihu.com/p/117498021?utm_source=wechat_session&utm_medium=social&utm_oi=576132412245938176 模拟的实际数据: 第一题的解法: SELECT user_id,date,attend,IF(@temp_id = user_id AND DATEDIFF(date,@temp_date) = 1 AND attend = 1,@num := @num

weixin_40718824的博客 501
上一篇: Oracle 函数大全(字符串函数,数学函数,日期函数,逻辑运算函数,其他函数)
下一篇: 用SQL解决两道有趣的题(二)
SkidRow_xp
博客等级 码龄6年 0粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值