Comment trier par différentes colonnes en fonction d'une condition
Dans MySQL, il est possible de trier les données par différentes colonnes en fonction d'une condition en utilisant les fonctions SQL ou l'instruction CASE.
Utilisation de l'IF Fonction :
Pour utiliser la fonction IF dans la clause ORDER BY, vous pouvez spécifier deux expressions séparées par une virgule. La première expression est la condition qui détermine quelle expression utiliser. La deuxième expression est la valeur à utiliser si la condition est vraie.
Par exemple :
ORDER BY IF(TYPE='Member', LNAME, GROUPNAME) ASC
Cette instruction classera les données par colonne LNAME si la colonne TYPE est égale à ' Member', et par la colonne GROUPNAME si la colonne TYPE est égale à 'Group'.
Utilisation du CASE Déclaration :
L'instruction CASE est une option plus flexible pour trier les données par différentes colonnes en fonction d'une condition. Il vous permet de spécifier plusieurs conditions et expressions correspondantes.
Par exemple :
ORDER BY CASE `type` WHEN 'Member' THEN LNAME WHEN 'Group' THEN GROUPNAME ELSE 1 END ASC
Dans cette instruction, les données seront classées par la colonne LNAME si la colonne type est égale à ' Member', par la colonne GROUPNAME si la colonne type est égale à 'Group', et par une valeur de 1 sinon.
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!