加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Leetcode 619. Biggest Single Number

发布时间:2020-12-14 05:18:05 所属栏目:大数据 来源:网络整理
导读:Problem: Table number contains many numbers in column num including duplicated ones. Can you write a SQL query to find the biggest number,which only appears once. +---+|num|+---+| 8 || 8 || 3 || 3 || 1 || 4 || 5 || 6 | For the sample data

Problem:

Table number contains many numbers in column num including duplicated ones.
Can you write a SQL query to find the biggest number,which only appears once.

+---+
|num|
+---+
| 8 |
| 8 |
| 3 |
| 3 |
| 1 |
| 4 |
| 5 |
| 6 | 

For the sample data above,your query should return the following result:

+---+
|num|
+---+
| 6 |

Note:
If there is no such number,just output null.

Solution:

  这道题本不难,但引申出了一个很重要的问题,我第一次写的答案是

SELECT num FROM number GROUP BY num HAVING COUNT(*)=1 ORDER BY num DESC LIMIT 1;

  但没有通过测试用例

1 Input: {"headers": {"number": ["num"]},"rows": {"number": [[8],[1],[8],[3],[4],[5],[6],[6]]}}
2 
3 Output: {"headers":["num"],"values":[]}
4 
5 Expected: {"headers":["num"],"values":[[null]]}

  因此,若要输出null,需要满足两个条件,第一,select中应是聚合函数,第二,聚合函数处理的行数应为0。

Code:

?

SELECT MAX(num) AS num FROM (SELECT num FROM number GROUP BY num HAVING COUNT(*)=1) AS T;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读