Número Más Grande Único
Un número único es aquel que aparece sólo una vez en la tabla MyNumbers. Encuentra el número más grande que no tiene duplicados. Si no existe, regresa null.
Tabla: MyNumbers
+-------------+------+
| Column Name | Type |
+-------------+------+
| num | int |
+-------------+------+
- Esta tabla puede contener duplicados (En otras palabras, no hay una llave primaria para esta tabla).
- Cada fila contiene un valor entero.
El formato del resultado se muestra en el siguiente ejemplo.
Ejemplo 1:
Entrada:
Tabla MyNumbers:
+-----+
| num |
+-----+
| 8 |
| 8 |
| 3 |
| 3 |
| 1 |
| 4 |
| 5 |
| 6 |
+-----+
Salida:
+-----+
| num |
+-----+
| 6 |
+-----+
Explicación:
- Los números sin repeticiones son 1, 4, 5, 6.
- Regresamos 6, dado que es el valor más grande.
Ejemplo 2:
Entrada:
Tabla MyNumbers:
+-----+
| num |
+-----+
| 8 |
| 8 |
| 7 |
| 7 |
| 3 |
| 3 |
| 3 |
+-----+
Salida:
+------+
| num |
+------+
| null |
+------+
Explicación: No hay números sin repeticiones, de manera que regresamos null.
Solución:
WITH uniqueNums AS (
SELECT num, count(num) freq
FROM mynumbers
GROUP BY num HAVING freq = 1
) SELECT max(num) num from uniqueNums;