es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Eliminar duplicados de sqlite utilizando tabla temporal.

Como puedes ver a continuación, soy capaz de seleccionar todos los números de fila que son duplicados. Los identifiqué usando una función de ventana ROW_NUMBER(). Aunque quiero eliminarlos de la base de datos.

¿Cómo puedo cambiar mi código para eliminar los duplicados identificados, ya que actualmente estoy obteniendo un error?

Los duplicados se identifican como teniendo un número de fila mayor que 1.

Gracias.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para eliminar los duplicados identificados de la base de datos, puede modificar el código de la siguiente manera:

    WITH RowNumCTE AS (
    SELECT *, 
        ROW_NUMBER() OVER (
            PARTITION BY ParcelID,
                         PropertyAddress,
                         SalePrice,
                         SaleDate,
                         LegalReference
                         ORDER BY 
                         UniqueID
                    ) row_num
    
    FROM housing_data
    )
    DELETE FROM RowNumCTE
    WHERE row_num > 1;
    

    Esto debería eliminar todas las filas que tienen un número de fila mayor que 1, eliminando efectivamente los duplicados de la base de datos. Es importante tener en cuenta que esta operación no se puede deshacer, así que asegúrese de hacer una copia de seguridad de sus datos antes de ejecutar la eliminación.

Comments are closed.