So sortieren Sie Daten nach verschiedenen Spalten basierend auf einer Bedingung
In MySQL ist es möglich, Daten basierend auf einer Bedingung nach verschiedenen Spalten zu sortieren unter Verwendung von SQL-Funktionen oder der CASE-Anweisung.
Verwendung von IF Funktion:
Um die IF-Funktion in der ORDER BY-Klausel zu verwenden, können Sie zwei durch Komma getrennte Ausdrücke angeben. Der erste Ausdruck ist die Bedingung, die bestimmt, welcher Ausdruck verwendet werden soll. Der zweite Ausdruck ist der Wert, der verwendet werden soll, wenn die Bedingung wahr ist.
Zum Beispiel:
ORDER BY IF(TYPE='Member', LNAME, GROUPNAME) ASC
Diese Anweisung ordnet die Daten nach der LNAME-Spalte, wenn die TYPE-Spalte gleich „ Member‘ und durch die Spalte GROUPNAME, wenn die Spalte TYPE gleich ‚Group‘ ist.
Verwendung von CASE Anweisung:
Die CASE-Anweisung ist eine flexiblere Option zum Sortieren von Daten nach verschiedenen Spalten basierend auf einer Bedingung. Sie können damit mehrere Bedingungen und entsprechende Ausdrücke angeben.
Zum Beispiel:
ORDER BY CASE `type` WHEN 'Member' THEN LNAME WHEN 'Group' THEN GROUPNAME ELSE 1 END ASC
In dieser Anweisung werden die Daten nach der LNAME-Spalte sortiert, wenn die Typspalte gleich „ Mitglied‘, durch die Spalte „GROUPNAME“, wenn die Typspalte gleich „Gruppe“ ist, andernfalls durch einen Wert von 1.
Das obige ist der detaillierte Inhalt vonWie ordne ich Daten nach verschiedenen Spalten basierend auf einer Bedingung in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!