Die ORDER BY-Klausel von MySQL wird verwendet, um Abfrageergebnisse nach angegebenen Spalten zu sortieren. Es unterstützt die Sortierung aufsteigend (ASC) und absteigend (DESC) und kann mehrere Spalten gleichzeitig sortieren. NULL-Werte werden normalerweise als kleinster Wert behandelt, können jedoch mit der Funktion COALESCE() als größter Wert behandelt werden. Die ORDER BY-Klausel ermöglicht auch das Sortieren mithilfe von Ausdrücken und kann die Sortierleistung optimieren, indem Indizes erstellt, abdeckende Indizes verwendet und die Anzahl der zurückgegebenen Zeilen begrenzt werden.
Verwendung von ORDER BY in MySQL
Zweck der ORDER BY-Klausel
Die ORDER BY-Klausel wird verwendet, um Abfrageergebnisse so zu sortieren, dass sie in einer bestimmten Reihenfolge angezeigt werden. Es sortiert Datenzeilen basierend auf einem angegebenen Ausdruck oder einer angegebenen Spalte.
Grundlegende Syntax:
<code class="sql">SELECT column_list FROM table_name ORDER BY column_name [ASC | DESC];</code>
Mehrere Sortierspalten
Kann mehrere Spalten gleichzeitig sortieren. Jede Sortierspalte wird durch Kommas getrennt und nach Priorität von links nach rechts sortiert. Zum Beispiel:
<code class="sql">SELECT * FROM table_name ORDER BY last_name ASC, first_name DESC;</code>
Dies sortiert zuerst nach Nachnamen in aufsteigender Reihenfolge und dann nach Vornamen in absteigender Reihenfolge, wenn die Nachnamen gleich sind.
Sortieren von NULL-Werten
NULL-Werte werden beim Sortieren normalerweise als kleinster Wert behandelt. Um einen NULL-Wert beim Sortieren in absteigender Reihenfolge als größten Wert zu behandeln, können Sie ihn mit der Funktion COALESCE() durch einen Nicht-NULL-Wert ersetzen. Zum Beispiel:
<code class="sql">SELECT * FROM table_name ORDER BY COALESCE(salary, 0) DESC;</code>
Ordnen mit Ausdrücken
Sie können Ausdrücke in der ORDER BY-Klausel anstelle von Spaltennamen verwenden. Ausdrücke können Konstanten, Funktionen und Operatoren enthalten. Zum Beispiel Sortieren nach Altersgruppe:
<code class="sql">SELECT * FROM table_name ORDER BY CASE WHEN age < 18 THEN 'Minor' WHEN age >= 18 AND age < 65 THEN 'Adult' ELSE 'Senior' END;</code>
Optimierung der Sortierleistung
Beim Sortieren großer Datensätze ist es sehr wichtig, die Sortierleistung zu optimieren. Die folgenden Techniken können eingesetzt werden:
Das obige ist der detaillierte Inhalt vonSo verwenden Sie orderby in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!