Maison > base de données > tutoriel mysql > Comment sélectionner des lignes avec des ID en double et des valeurs de colonne uniques dans SQL ?

Comment sélectionner des lignes avec des ID en double et des valeurs de colonne uniques dans SQL ?

Mary-Kate Olsen
Libérer: 2024-12-27 05:20:15
original
1001 Les gens l'ont consulté

How to Select Rows with Duplicate IDs and Unique Column Values in SQL?

Extraction de lignes avec des ID en double et des valeurs de colonnes distinctes

La requête :

Considérez le tableau suivant :

+------+------+
| ARIDNR | LIEFNR |
+------+------+
| 1     | A     |
+------+------+
| 2     | A     |
+------+------+
| 3     | A     |
+------+------+
| 1     | B     |
+------+------+
| 2     | B     |
+------+------+
Copier après la connexion

Le but est de récupérer toutes les lignes où la colonne ARIDNR a des valeurs en double tandis que la colonne LIEFNR a des valeurs distinctes.

Solution :

Pour exécuter cette requête efficacement, suivez ces étapes :

SELECT *
FROM Table
WHERE ARIDNR IN (
    SELECT ARIDNR
    FROM Table
    GROUP BY ARIDNR
    HAVING COUNT(DISTINCT LIEFNR) > 1
)
Copier après la connexion

Explication :

Cette requête utilise une sous-requête pour identifier les ARIDNR qui se produisent plus d'une fois. Dans la requête externe, il récupère toutes les lignes avec les ARIDNR identifiés.

  1. Sous-requête :

    • Il regroupe les lignes par ARIDNR.
    • La clause HAVING filtre les ARIDNR avec plus d'un LIEFNR distinct valeur.
  2. Requête externe :

    • La requête principale filtre la table pour inclure uniquement les lignes dont les ARIDNR satisfont à la sous-requête. condition.

Résultat :

La sortie de la requête sera :

+------+------+
| ARIDNR | LIEFNR |
+------+------+
| 1     | A     |
+------+------+
| 1     | B     |
+------+------+
| 2     | A     |
+------+------+
| 2     | B     |
+------+------+
Copier après la connexion

Ce résultat capture avec succès toutes les lignes avec des ARIDNR en double et des valeurs LIEFNR distinctes.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal