详解力扣高频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);
相关推荐
橘子汽水1682 小时前
Leetcode 23,543合并K个升序链表,二叉树的直径
算法·leetcode·链表
Re.不晚5 小时前
挑战做100道力扣算法- DAY1
算法·leetcode·职场和发展
青山木6 小时前
Hot 100 --- 搜索插入位置
java·数据结构·算法·leetcode
星轨初途9 小时前
LeetCode 热题 100——day2 字母异位词分组
c++·算法·leetcode
Csvn10 小时前
📊 SQL 入门 Day 12: 窗口函数基础
后端·sql
安_11 小时前
MySQL SQL 调优完整指南
数据库·sql·mysql
雪碧聊技术12 小时前
力扣 72. 编辑距离——动态规划经典例题
算法·leetcode·动态规划
木井巳12 小时前
【DFS解决floodfill算法】岛屿的最大面积
java·算法·leetcode·深度优先
Tisfy12 小时前
LeetCode 1406.石子游戏 III:递归(DFS+记忆化) / 递推(DP+原地滚动)
leetcode·游戏·深度优先·dfs·题解·博弈