Leetcode 619 - Biggest Single Number Problem

Problem

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

Examples

Table: my_numbers

+---+
|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

Method 1 - Using Subquery

Code

Sql
SELECT max(num) as num FROM my_numbers
WHERE num NOT IN 
	(SELECT num FROM my_numbers GROUP BY num HAVING COUNT(num) > 1) dupes

Alternative:

SELECT max(num) as num 
FROM
    (SELECT num FROM my_numbers GROUP BY num
    HAVING COUNT(num) = 1) uniqNums