Afin de trier efficacement les données dans MySQL à l'aide de la clause OrderBy, il est souvent nécessaire de s'assurer que les valeurs NULL sont traitées de manière cohérente . Par défaut, les valeurs NULL précèdent les valeurs non NULL lors du classement par ordre croissant et après elles dans l'ordre décroissant. Ce comportement peut être problématique lorsque l'ordre souhaité consiste à placer toutes les valeurs non NULL avant les valeurs NULL.
MySQL fournit une syntaxe pratique qui permet le tri des NULL les valeurs durent. Pour y parvenir, faites précéder le nom de la colonne dans la clause OrderBy d'un signe moins (-) et changez l'ordre de tri en décroissant (DESC) :
SELECT * FROM tablename WHERE visible = 1 ORDER BY -position DESC, id DESC;
Cette syntaxe inverse essentiellement le comportement du mot-clé DESC, placer les valeurs NULL à la fin des résultats triés.
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!