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.

SQL: Redactar el valor de la columna B cuando el valor de la columna A sea demasiado único.

En la tabla de abajo, deseo utilizar SQL para reemplazar un UserID cuando un GroupID tiene <=1 UserID únicos asociados a él:

GroupID UserID
1 123
1 456
1 789
2 987
3 876
3 765

El resultado devuelto se vería así:

GroupID UserID
1 123
1 456
1 789
2 redactado
3 876
3 765

El caso de uso aquí sería evitar la capacidad de identificar a un único usuario basado en un grupo. Si un grupo tiene más de un usuario, se considera suficientemente anónimo para mostrarlo.

Cualquier ayuda sería apreciada.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para reemplazar el UserID por “redacted” cuando un GroupID tiene <=1 UserID únicos asociados, puedes usar la siguiente consulta SQL:

    UPDATE nombre_de_tabla
    SET UserID = 'redacted'
    WHERE GroupID IN (
        SELECT GroupID 
        FROM nombre_de_tabla
        GROUP BY GroupID
        HAVING COUNT(DISTINCT UserID) <= 1
    )
    

    Esta consulta utiliza una subconsulta para identificar los GroupID con uno o menos UserID únicos, y luego actualiza el UserID a “redacted” para esos registros. Ten en cuenta que debes reemplazar “nombre_de_tabla” por el nombre real de tu tabla.

Comments are closed.