Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie ordne ich Daten nach verschiedenen Spalten basierend auf einer Bedingung in MySQL?

DDD
Freigeben: 2024-11-16 02:09:02
Original
356 Leute haben es durchsucht

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

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage