Eh bien, vous pouvez utiliser le IF fonction
dans MySQL (notez l'accent mis sur function car il y a aussi un IF déclaration
)... :
ORDER BY IF(TYPE='Member', LNAME, GROUPNAME) ASC
Cependant, dans ce cas, il semble que le meilleur choix (du point de vue de la flexibilité) serait le CASE déclaration
:
ORDER BY
CASE `type`
WHEN 'Member' THEN LNAME
WHEN 'Group' THEN GROUPNAME
ELSE 1 END
ASC
Notez que le bloc entier de CASE à END doit être considéré comme une seule "unité". Le résultat est ce que vous essayez de trier (d'où la raison pour laquelle le ASC vient après le bloc, plutôt qu'à l'intérieur de celui-ci)...