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.

#database#sorting-and-grouping

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;

slackmart blog © 2024