MyNumbers 表:
+-------------+------+
| Column Name | Type |
+-------------+------+
| num ? ? ? ? | int ?|
+-------------+------+
這張表沒有主鍵。可能包含重復(fù)數(shù)字。這張表的每一行都含有一個整數(shù)。
單一數(shù)字 是在 MyNumbers 表中只出現(xiàn)一次的數(shù)字。
請你編寫一個 SQL 查詢來報告最大的單一數(shù)字 。如果不存在 單一數(shù)字 ,查詢需報告 null 。
查詢結(jié)果如下例所示。
示例 1:
輸入:
MyNumbers 表:88331456
輸出:
+-----+
| num |
+-----+
| 6 ? |
+-----+
解釋:單一數(shù)字有 1、4、5 和 6 。
6 是最大的單一數(shù)字,返回 6 。
示例 2:輸入:
MyNumbers table:8877333
輸出:
+------+
| num ?|
+------+
| null |
+------+
解釋:輸入的表中不存在單一數(shù)字,所以返回 null 。
我敏捷的頭腦快速旋轉(zhuǎn),大概有了個思路:
1.根據(jù)num分組
2.計算分組內(nèi)記錄數(shù)量等于1
3.從高到低排序
4.取第一條記錄
然后快速寫了一版錯誤答案,如下所示:
select * from mynumbers
group by num
having count(num)=1
order by num desc
limit 1
炸裂。。。。當(dāng)不存在單一數(shù)字,我的輸出為空,而不是null。
后來百度才知道,只有select和某些函數(shù),輸出為空的時候才會輸出null。而limit正好就是不輸出為null,直接輸出為空的那個函數(shù)。
于是我想到了一種解法:
select(
select num from mynumbers
group by num
having count(num)=1
order by num desc
limit 1
) as num
然后看了別人的解題思路。
感謝力扣大神【退堂鼓一級表演藝術(shù)家】總結(jié)的表格:
文章來源:http://www.zghlxwxcb.cn/news/detail-603446.html
這是另外一種寫法:文章來源地址http://www.zghlxwxcb.cn/news/detail-603446.html
select max(num) num from
(
select num from mynumbers
group by num
having count(num)=1
) as t
到了這里,關(guān)于力扣刷題SQL-619. 只出現(xiàn)一次的最大數(shù)字的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!