详解力扣高频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);
相关推荐
字符串str19 分钟前
sql的基本技术栈
数据库·sql·oracle
剑之所向37 分钟前
DataEase 做大屏,只认 2 种 SQL 格式
数据库·sql·正则表达式
副露のmagic1 小时前
数组章节 leetcode 思路&实现
算法·leetcode·职场和发展
Frostnova丶2 小时前
LeetCode 3474. 字典序最小的生成字符串
算法·leetcode·职场和发展
AlenTech2 小时前
136. 只出现一次的数字 - 力扣(LeetCode)
leetcode
重庆小透明2 小时前
力扣刷题【3】相交链表
算法·leetcode·链表
x_xbx2 小时前
LeetCode:202. 快乐数
算法·leetcode·职场和发展
jnrjian3 小时前
RAC 去除node的建议 dbca 和手动方法
数据库·oracle
老虎06273 小时前
LeetCode热题100 刷题笔记(第四天)二分 「 寻找两个正序数组的中位数」
笔记·算法·leetcode
_日拱一卒3 小时前
LeetCode:最小覆盖字串
java·数据结构·算法·leetcode·职场和发展