Maison >base de données >tutoriel mysql >Comment trier les données par différentes colonnes en fonction d'une condition dans MySQL ?

Comment trier les données par différentes colonnes en fonction d'une condition dans MySQL ?

DDD
DDDoriginal
2024-11-16 02:09:02427parcourir

How to Order Data By Different Columns Based on a Condition in MySQL?

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!

Déclaration:
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