力扣619(MySQL)-只出现一次的最大数字(简单)

题目:

MyNumbers 表:

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

请你编写一个 SQL 查询来报告最大的 单一数字 。如果不存在 单一数字 ,查询需报告 null 。

查询结果如下例所示。

示例1:

 

示例2:

 

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/biggest-single-number
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路:

方法一:max()

将每个数字进行分组,进行统计每个数字出现的次数,筛选出次数为1的数,使用聚合函数max()找出最大的数。如果没有次数为1的数,聚合函数可以转换为null。

1 select max(num) as num
2 from (
3 select distinct num,count(num) as cout
4 from MyNumbers_619
5 group by num
6 )as temp
7 where cout = 1

方法二:limit

1 select(
2   select num
3   from MyNumbers_619
4   group by num
5   having count(num) = 1
6   order by num desc
7   limit 1
8 )as num

注意:

本题的重点应该是:如果不存在 单一数字 ,查询需报告 null 。

可以参考力扣本题题解中:这位博主的题解

posted on 2023-04-05 23:33  我不想一直当菜鸟  阅读(89)  评论(0编辑  收藏  举报