Maison >base de données >tutoriel mysql >Maîtriser SQL DISTINCT : supprimer les doublons en toute simplicité
Le mot-clé DISTINCT en SQL est utilisé pour supprimer les lignes en double de l'ensemble de résultats d'une requête. Cela garantit que la requête ne renvoie que des enregistrements uniques pour les colonnes spécifiées.
Lorsqu'une requête SELECT récupère des données, il peut y avoir des lignes en double dans la sortie. En ajoutant le mot-clé DISTINCT, SQL filtre ces doublons, ne conservant qu'une seule occurrence de chaque combinaison unique de valeurs dans les colonnes spécifiées.
SELECT DISTINCT column1, column2, ... FROM table_name;
Considérez une table Employés :
EmployeeID | Department |
---|---|
1 | HR |
2 | IT |
3 | HR |
4 | Sales |
Requête :
SELECT DISTINCT Department FROM Employees;
Department |
---|
HR |
IT |
Sales |
Ici, les doublons dans la colonne Département sont supprimés.
OrderID | CustomerID | ProductID |
---|---|---|
101 | 1 | A |
102 | 1 | B |
103 | 1 | A |
104 | 2 | C |
Requête :
SELECT DISTINCT CustomerID, ProductID FROM Orders;
CustomerID | ProductID |
---|---|
1 | A |
1 | B |
2 | C |
Ici, DISTINCT filtre les lignes en double en fonction de la combinaison de CustomerID et ProductID.
Pour trouver des valeurs uniques :
Lorsque vous souhaitez connaître toutes les valeurs uniques d'une colonne ou d'une combinaison de colonnes.
Exemple : Répertorier toutes les catégories de produits distinctes dans un inventaire.
Pour éliminer la redondance :
Lorsque les lignes en double dans l'ensemble de résultats ne sont pas nécessaires à l'analyse ou au reporting.
Exemple : Récupération de noms de service uniques à partir d'une base de données d'employés.
Pour le nettoyage des données :
Aide à préparer des ensembles de données propres en supprimant les doublons.
Impact sur les performances :
L'utilisation de DISTINCT peut ralentir les requêtes, en particulier sur les grands ensembles de données, car SQL doit analyser et comparer les lignes pour filtrer les doublons.
Pas pour la déduplication conditionnelle :
Si vous souhaitez une déduplication conditionnelle (par exemple, conserver la dernière ligne pour chaque valeur unique), vous avez besoin d'autres techniques telles que ROW_NUMBER().
Le mot-clé DISTINCT est un outil simple mais puissant pour éliminer les lignes en double dans les résultats des requêtes SQL. Il garantit que votre sortie ne contient que des valeurs uniques, ce qui la rend idéale pour les tâches de reporting et d'analyse de données. Cependant, utilisez-le judicieusement pour équilibrer performances et précision.
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!