【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)

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

相关推荐
全栈前端老曹13 分钟前
【MongoDB】安全与权限管理 —— 用户认证、角色权限、SSL 加密
前端·javascript·数据库·安全·mongodb·nosql·ssl
怕孤单的草丛32 分钟前
缓存管理面临的主要问题
java·数据库·缓存
我会尽全力 乐观而坚强1 小时前
MySQL零基础入门(二)
数据库·mysql·adb
kali-Myon2 小时前
某校园门禁系统高危 SQL 注入漏洞挖掘复盘
数据库·sql·安全·web安全
程序员在囧途3 小时前
likeadmin-api API 中转站怎么做统一报价?从 /pricing、/user/balance 到 task_id 回执的落地方法
运维·服务器·数据库·likeadmin-api·api中转站·token计费
龙石数据4 小时前
MySQL 全量同步到 Hive 怎么做?三步配置教程
数据库·hive·mysql·数据治理·数据中台
程序员在囧途5 小时前
likeadmin-api API 算力超市怎么做供应商切换?统一鉴权、task_id 和 callback_url 才能稳交付
java·服务器·数据库·开放api·likeadmin-api·api算力超市
数据工匠老o5 小时前
连接池配置实战——从“连不上“到“连太多“的完整排查指南
数据库
一只专注api接口开发的技术猿6 小时前
电商评论自动化监控与情感数据分析完整落地教程(附可直接运行 Python 代码)
大数据·数据库·python·数据分析·自动化
hh真是个慢性子6 小时前
GaussDB Inside 2.23.01.280 集中式一主一备安装
数据库·database·gaussdb·国产数据库·高斯