详解力扣高频SQL50题之619. 只出现一次的最大数字【简单】

传送门:619. 只出现一次的最大数字

题目

MyNumbers 表:

±------------±-----+

| Column Name | Type |

±------------±-----+

| num | int |

±------------±-----+

该表可能包含重复项(换句话说,在SQL中,该表没有主键)。

这张表的每一行都含有一个整数。

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

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

查询结果如下例所示。

示例 1:

输入:

MyNumbers 表:

±----+

| num |

±----+

| 8 |

| 8 |

| 3 |

| 3 |

| 1 |

| 4 |

| 5 |

| 6 |

±----+

输出:

±----+

| num |

±----+

| 6 |

±----+

解释:单一数字有 1、4、5 和 6 。

6 是最大的单一数字,返回 6 。

示例 2:

输入:

MyNumbers table:

±----+

| num |

±----+

| 8 |

| 8 |

| 7 |

| 7 |

| 3 |

| 3 |

| 3 |

±----+

输出:

±-----+

| num |

±-----+

| null |

±-----+

解释:输入的表中不存在单一数字,所以返回 null 。

解析

显然用group by+count()+max(),但是注意group by+count()得到的是在组内的数字而不是全部数字,不能直接用max(),得再嵌套一层查询再用。

代码(标准SQL)

sql 复制代码
select max(num)as num
from(select *
from MyNumbers
group by num
having count(*)=1);
相关推荐
Data analyse4563 小时前
用户路径SQL按会话起止时间聚合的方法
大数据·服务器·前端·数据库·人工智能·sql·数据分析
学电子她就能回来吗3 小时前
LeetCode Hot 100|滑动窗口专题零基础学习笔记
笔记·学习·leetcode
zh73143 小时前
sqlforge一个SQL 格式化与方言转换工具
数据库·sql
其实防守也摸鱼4 小时前
CTF Web 6 题全解 Writeup
linux·sql·学习·算法·安全·ctf·xss
小小龙学IT4 小时前
PostgreSQL 服务端机制与 SQL 实战深度解析:从 MVCC 到查询优化器
数据库·sql·postgresql
l1t4 小时前
DeepSeek总结的DuckDB 从 JSON 字符串到类型化列
数据库·sql·json
拾饵9424 小时前
面试回答整理(Q1–Q3)
leetcode
虚无的纽扣4 小时前
【力扣刷题】第四天:三数之和、四数之和
算法·leetcode·职场和发展
StarRocks_labs5 小时前
StarRocks 接入 Paimon C++:让湖上查询进入原生执行链路
starrocks·c++·sql·jni·paimon·auto·湖上查询
小师兄吃牛肉5 小时前
SQL 编辑器异常排查:基于 KStudio 的一次实战记录
java·sql·编辑器