表 my_numbers 的 num 字段包含很多数字,其中包括很多重复的数字。
你能写一个 SQL 查询语句,找到只出现过一次的数字中,最大的一个数字吗?
num |
---|
8 |
8 |
3 |
3 |
1 |
4 |
5 |
6 |
对于上面给出的样例数据,你的查询语句应该返回如下结果:
num |
---|
6 |
注意:
如果没有只出现一次的数字,输出 null 。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/biggest-single-number
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
二、思路分析
看到类似找出现次数的,首先想到的是GROUP BY、COUNT()的组合使用。
这里需要注意的就是如果没有只出现一次的数字,输出NULL。所以,把上面的查询作为子查询即可。
三、代码实现
SELECT (
SELECT
num
FROM
my_numbers
GROUP BY num
HAVING COUNT(num) = 1
ORDER BY num DESC
LIMIT 1
) AS num;