Maison >base de données >tutoriel mysql >Comment identifier les lignes en double avec des valeurs distinctes dans une colonne ?

Comment identifier les lignes en double avec des valeurs distinctes dans une colonne ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-05 10:55:40848parcourir

How to Identify Duplicate Rows with Distinct Values in a Column?

Sélection de doublons avec des valeurs distinctes

Dans le domaine de la gestion des données, le défi d'identifier les lignes en double avec des valeurs différentes dans une colonne particulière est souvent surgit. Ce type de requête peut s'avérer particulièrement utile lorsque l'on tente de consolider des données ou de découvrir des incohérences potentielles au sein d'un ensemble de données.

Considérons l'exemple suivant : une table contient une colonne représentant des identifiants uniques (ARIDNR) et une autre colonne désignant différentes catégories ( LIEFNR). L'objectif est de récupérer toutes les valeurs ARIDNR qui apparaissent plus d'une fois, associées aux valeurs LIEFNR distinctes associées à chaque occurrence.

La solution à cette requête réside dans l'exploitation des sous-requêtes et de la logique conditionnelle. L'extrait suivant fournit une approche complète :

SELECT *
FROM Table
WHERE ARIDNR IN (
    SELECT ARIDNR
    FROM Table
    GROUP BY ARIDNR
    HAVING COUNT(distinct LIEFNR) > 1
)

En utilisant une sous-requête corrélée, la requête externe restreint la sélection aux valeurs ARIDNR trouvées dans une sous-requête distincte. La sous-requête calcule le nombre de valeurs LIEFNR distinctes pour chaque ARIDNR et impose une condition pour sélectionner uniquement celles avec plus d'une valeur distincte.

Cette approche identifie efficacement toutes les valeurs ARIDNR en double qui présentent des valeurs LIEFNR différentes, permettant ainsi de extraction des lignes souhaitées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn