Saltar al contenido

¿Cómo obtener solo un registro para cada fila duplicada de la identificación en Oracle?

Contamos con tu ayuda para extender nuestros posts en referencia a las ciencias informáticas.

Solución:

Existen no funciones agregadas estándar en Oracle que funcionarían con BLOBs, entonces GROUP BY las soluciones no funcionarán.

Prueba este basado en ROW_NUMBER() en una subconsulta.

SELECT inn.group_id, inn.image, inn.image_id
FROM
(
    SELECT t.group_id, t.image, t.image_id, 
        ROW_NUMBER() OVER (PARTITION BY t.group_id ORDER BY t.image_id) num
    FROM theTable t
) inn
WHERE inn.num = 1;

Lo anterior debería devolver el primero (basado en image_id) fila para cada grupo.

Violín SQL

Calificaciones y comentarios

Si te ha resultado de utilidad este post, nos gustaría que lo compartas con otros desarrolladores y nos ayudes a difundir nuestro contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *