Sélection de lignes avec des valeurs de colonne non distinctes
Lorsque vous travaillez avec des données, il peut être nécessaire de récupérer des lignes dans lesquelles des valeurs de colonne spécifiques ne sont pas distinct. Par exemple, dans un tableau contenant des adresses e-mail, il peut être utile d'identifier les adresses e-mail en double dans différents enregistrements client.
La requête fournie utilise les clauses GROUP BY et HAVING pour regrouper les lignes par adresse e-mail et identifier celles qui se produisent. plus d'une fois. Cependant, des problèmes de performances ont été signalés.
Une approche alternative consiste à utiliser une clause IN combinée à une sous-requête. Cette méthode sélectionne les adresses e-mail de la table Clients qui apparaissent plus d'une fois :
SELECT [EmailAddress], [CustomerName] FROM [Customers] WHERE [EmailAddress] IN (SELECT [EmailAddress] FROM [Customers] GROUP BY [EmailAddress] HAVING COUNT(*) > 1)
Les performances de cette requête sont généralement plus rapides que l'utilisation des clauses GROUP BY et HAVING et devraient effectivement renvoyer des lignes avec des adresses e-mail en double.
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!