详解力扣高频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);
相关推荐
Liangwei Lin1 小时前
LeetCode 74. 搜索二维矩阵
算法·leetcode·矩阵
mask哥8 小时前
力扣算法java实现汇总整理(上)
java·算法·leetcode
流年如夢12 小时前
栈和列队(LeetCode)
数据结构·算法·leetcode·链表·职场和发展
渣渣盟14 小时前
Mysql入门到精通全集(SQL99)包含关系运算,软考数据库工程师复习首选
数据库·mysql·oracle
阿里云大数据AI技术14 小时前
一条 SQL 生成广告:Hologres 如何实现素材生成到投放分析一体化
人工智能·sql
AlfredZhao15 小时前
APEX实战第13篇:全套开发环境的本地配置与恢复实践
oracle·apex·ords
x***r15116 小时前
dbeaver-ce-24.1.3-x86_64-setup安装步骤详解(附DBeaver数据库管理与SQL编写教程)
数据库·sql
Stackflowed17 小时前
Docker安装Oracle
docker·oracle·容器
星星码️17 小时前
LeetCode刷题简单篇之反转字母
c++·算法·leetcode
Java&Develop17 小时前
pgsql 根据一个查询sql 生成 修改sql
数据库·sql