详解力扣高频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);
相关推荐
M***Z2103 小时前
SQL 建表语句详解
java·数据库·sql
b***59434 小时前
MySQL数据库(SQL分类)
数据库·sql·mysql
2***63554 小时前
MS SQL Server 实战 统计与汇总重复记录
数据库·oracle
i***27954 小时前
MySQL 常用 SQL 语句大全
数据库·sql·mysql
IndulgeCui4 小时前
KingbaseES 数据库与用户默认表空间深度解析
数据库·sql·mysql
v***91305 小时前
DVWA靶场通关——SQL Injection篇
数据库·sql
学c菜鸟鸟5 小时前
漏洞知识——sql注入(二)
数据库·sql·oracle
P***84395 小时前
SQL多行数据合并到一行中的一个字段
数据库·sql
j***29485 小时前
【MySQL】数据库和表的操作
数据库·mysql·oracle
CNRio6 小时前
Oracle 9i-11g全平台安装介质及补丁集下载指南(2025年最新有效链接)
数据库·oracle