Accéder au contenu principal
Documents
Gestion des tableaux et des schémasSyntaxe de baseDéclencheursBases de donnéesFonctions de la dateFonctions des chaînes de caractèresFonctions mathématiquesFonctions JSONIndexes

PostgreSQL DISTINCT

Le mot-clé `DISTINCT` de PostgreSQL est utilisé pour retourner des valeurs uniques à partir d'une colonne ou d'une combinaison de colonnes, en éliminant les entrées dupliquées. Elle est souvent utilisée en conjonction avec l'instruction `SELECT` pour s'assurer que le jeu de résultats ne contient que des enregistrements distincts.

Utilisation

Le mot-clé `DISTINCT` est utilisé lorsque vous devez supprimer les lignes dupliquées des résultats de votre requête. Il suit le mot-clé `SELECT` et s'applique aux colonnes spécifiées par la suite.

SELECT DISTINCT column1, column2, ...
FROM table_name;

Dans cette syntaxe, `DISTINCT` assure que la combinaison de `column1`, `column2`, etc., est unique dans le jeu de résultats.

Exemples

1. Valeurs uniques de base

SELECT DISTINCT country
FROM customers;

Cet exemple récupère une liste de pays uniques dans le tableau `customers`, en éliminant les doublons. Notez que les valeurs `NULL` sont traitées comme des entrées distinctes.

2. Combinaisons uniques

SELECT DISTINCT first_name, last_name
FROM employees;

Ici, la requête renvoie les combinaisons uniques de `first_name` et `last_name` du tableau `employees`.

3. Utilisation de DISTINCT avec ORDER BY

SELECT DISTINCT category
FROM products
ORDER BY category ASC;

Cet exemple récupère des catégories de produits distinctes et les classe par ordre alphabétique.

4. Utilisation avec DISTINCT ON

SELECT DISTINCT ON (column1) column1, column2
FROM table_name
ORDER BY column1, column2;

Dans PostgreSQL, `DISTINCT ON` vous permet de sélectionner des lignes distinctes basées sur des colonnes spécifiques, ce qui peut être utile pour des scénarios plus complexes.

Conseils et bonnes pratiques

  • Utilisez-le à bon escient avec les grands ensembles de données. `DISTINCT` peut être gourmand en ressources en raison des opérations de tri et de comparaison qu'il implique, utilisez-le donc judicieusement pour éviter les problèmes de performance.
  • Combinez avec `ORDER BY`. Associez `DISTINCT` à `ORDER BY` pour trier les résultats uniques si nécessaire.
  • Limitez les colonnes dans la mesure du possible. Appliquez `DISTINCT` au plus petit nombre de colonnes pour réduire la complexité et le temps d'exécution.
  • Vérifiez l'unicité nécessaire. Assurez-vous que l'utilisation de `DISTINCT` est vraiment nécessaire pour votre requête spécifique afin d'éviter toute surcharge inutile.