【SQL高频基础题】619.只出现一次的最大数字

题目:

MyNumbers 表:

复制代码
+-------------+------+
| Column Name | Type |
+-------------+------+
| num         | int  |
+-------------+------+
该表可能包含重复项(换句话说,在SQL中,该表没有主键)。
这张表的每一行都含有一个整数。

单一数字 是在 MyNumbers 表中只出现一次的数字。

找出最大的 单一数字 。如果不存在 单一数字 ,则返回 null

查询结果如下例所示。

解题:

这题,我写了2种方法,第二种是参考答案后写出来的。

select ifnull(max(b.num),null) as num from (select num from MyNumbers group by num having count(num) =1) b

其实两者原理类似,都是先规定num的范围,然后再从里面摘选。你觉得哪种更好理解一点?

select ifnull(max(num),null) as num from Mynumbers where num in (select num from MyNumbers group by num having count(num) = 1)

写下来之后,我感觉第二种好像更好理解一点。

相关推荐
SPC的存折20 小时前
6、MySQL设置TLS加密访问
linux·运维·服务器·数据库·mysql
老苏畅谈运维20 小时前
DBA分析 ORA 报错的利器,errorstack让 Oracle 错误现原形
数据库·oracle·dba
紫青宝剑21 小时前
向量数据库 Milvus
数据库·milvus
雪碧聊技术21 小时前
数据库系统基础知识
数据库
Elastic 中国社区官方博客21 小时前
如何使用 LogsDB 降低 Elasticsearch 日志存储成本
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索·可用性测试
Dreamboat-L21 小时前
HBase远程访问配置(详细教程)
大数据·数据库·hbase
刘~浪地球21 小时前
数据库与缓存--Redis 集群架构与优化
数据库·redis·缓存
羊小蜜.21 小时前
Mysql 11: 存储过程全解——从创建到使用
android·数据库·mysql·存储过程
A__tao21 小时前
一键实现 SQL 转 Elasticsearch Mapping(支持字段注释 + meta 描述)
数据库·sql·elasticsearch
努力努力再努力wz21 小时前
【C++高阶系列】外存查找的极致艺术:数据库偏爱的B+树底层架构剖析与C++完整实现!(附B+树实现的源码)
linux·运维·服务器·数据结构·数据库·c++·b树