leetcode-SQL-619. 只出现一次的最大数字

简介: leetcode-SQL-619. 只出现一次的最大数字

题目

题目链接

MyNumbers 表:

+-------------+------+
| Column Name | Type |
+-------------+------+
| num         | int  |
+-------------+------+
这张表没有主键。可能包含重复数字。
这张表的每一行都含有一个整数。

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

请你编写一个 SQL 查询来报告最大的 单一数字 。如果不存在 单一数字 ,查询需报告 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 。

解题

只能用子查询,因为存在null的情况

select max(t.num) as num
from (
    select num
    from MyNumbers
    group by num
    having count(num)=1
)as t;

或者

套一层select,去包含null的i情况

SELECT(
  SELECT num
  FROM my_numbers 
  GROUP BY num
  HAVING COUNT(num)=1
  ORDER BY num DESC
  LIMIT 0,1
) select_num


相关文章
|
5月前
|
SQL
leetcode-SQL-1407. 排名靠前的旅行者
leetcode-SQL-1407. 排名靠前的旅行者
49 1
|
5月前
|
SQL
leetcode-SQL-180. 连续出现的数字
leetcode-SQL-180. 连续出现的数字
34 0
|
5月前
|
SQL 数据库
一个数据库题目理解所有的sql语句
一个数据库题目理解所有的sql语句
41 0
|
5月前
|
SQL
leetcode-SQL-
leetcode-SQL-
24 0
|
2月前
|
SQL 存储 关系型数据库
SQL字符串查询有哪些坑?
本文通过创建一个包含不同格式姓名数据的表格,探讨了MySQL中字符排序规则(Collation)的影响。通过使用不区分大小写和空格的查询条件,文章演示了如何获取所有插入的记录,并解释了排序规则中"_ci"、"_cs"及"_bin"的区别。此外,还强调了在数据处理过程中,应考虑大小写敏感性和字符串前后空格的问题,以防导致统计或比较上的错误。最后,提供了Go语言中处理这类问题的方法,如使用`strings.EqualFold()`进行不区分大小写的字符串比较,以及使用`strings.TrimSpace()`去除字符串两端的空白字符。
|
3月前
|
SQL Oracle Java
SQL中使用NEXTVAL获取序列值
SQL中使用NEXTVAL获取序列值
|
5月前
|
SQL
leetcode-SQL-1440. 计算布尔表达式的值
leetcode-SQL-1440. 计算布尔表达式的值
56 1
|
5月前
leetcode-SQL-1783. 大满贯数量
leetcode-SQL-1783. 大满贯数量
32 0
|
5月前
|
SQL
leetcode-SQL-607. 销售员
leetcode-SQL-607. 销售员
28 0