Maison > base de données > tutoriel mysql > Comment trier les tables PostgreSQL avec des valeurs NULL en premier ou en dernier ?

Comment trier les tables PostgreSQL avec des valeurs NULL en premier ou en dernier ?

Susan Sarandon
Libérer: 2025-01-23 02:43:09
original
644 Les gens l'ont consulté

How to Sort PostgreSQL Tables with NULL Values First or Last?

Tri des tables PostgreSQL : réglage de la priorité des valeurs NULL

Lors du tri d'une table PostgreSQL par champ date/heure par ordre croissant, vous pouvez rencontrer une situation où certains enregistrements ont des valeurs NULL dans ce champ. Généralement, ces enregistrements apparaissent après les enregistrements non NULL. Cependant, vous souhaiterez peut-être d'abord afficher les enregistrements avec des valeurs NULL.

L'expression ORDER BY de PostgreSQL fournit le modificateur NULLS FIRST à cet effet. En utilisant ce modificateur, vous pouvez trier le tableau comme suit :

<code class="language-sql">... ORDER BY last_updated NULLS FIRST</code>
Copier après la connexion

Cela garantira que last_updated les enregistrements avec des valeurs NULL pour les champs apparaissent avant les enregistrements avec des valeurs non NULL.

Pour le tri décroissant, vous pouvez utiliser le modificateur NULLS LAST :

<code class="language-sql">... ORDER BY last_updated DESC NULLS LAST</code>
Copier après la connexion

Pour créer un index qui prend en charge cette requête, assurez-vous qu'il correspond à l'ordre des clauses ORDER BY :

<code class="language-sql">CREATE INDEX foo_idx ON tbl (last_updated DESC NULLS LAST);</code>
Copier après la connexion

Vous pouvez également créer un index sans spécifier explicitement l'option NULLS LAST, puisque PostgreSQL peut lire les index btree à l'envers :

<code class="language-sql">CREATE INDEX foo_idx ON tbl (last_updated);</code>
Copier après la connexion

Dans certains cas, la position des valeurs NULL dans l'index peut affecter les performances des requêtes. Consultez la documentation PostgreSQL pour plus d'informations à ce sujet.

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