SQLite Order By

SQLitesORDER BY-Klausel wird verwendet, um Daten basierend auf einer oder mehreren Spalten in aufsteigender oder absteigender Reihenfolge anzuordnen.

Syntax

Die grundlegende Syntax der ORDER BY-Klausel lautet wie folgt:

SELECT column-list 
FROM table_name 
[WHERE condition] 
[ORDER BY column1, column2, .. columnN] [ASC | DESC];
  • ASCStandardwert: aufsteigende Reihenfolge, von klein nach groß
  • DESCVon groß nach klein, absteigende Reihenfolge

Sie können mehrere Spalten in der ORDER BY-Klausel verwenden und sicherstellen, dass die Spalten, die Sie zum Sortieren verwenden, in der Spaltenliste enthalten sind:

SELECT
   select_list
FROM
   table
ORDER BY
    column_1 ASC,
    column_2 DESC;

column_1 und column_2 verwenden standardmäßig die ASC aufsteigende Reihenfolge, wenn nach ihnen keine Sortierregel angegeben ist. Die obige Anweisung sortiert nach column_1 aufsteigend und column_2 absteigend, was der folgenden Anweisung entspricht:

SELECT
   select_list
FROM
   table
ORDER BY
    column_1,
    column_2 DESC;

Beispiele

Angenommen, die COMPANY-Tabelle enthält die folgenden Datensätze:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

Das folgende ist ein Beispiel, das die Ergebnisse nach SALARY in aufsteigender Reihenfolge sortiert:

sqlite> SELECT * FROM COMPANY ORDER BY SALARY ASC;

Dies erzeugt das folgende Ergebnis:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
7           James       24          Houston     10000.0
2           Allen       25          Texas       15000.0
1           Paul        32          California  20000.0
3           Teddy       23          Norway      20000.0
6           Kim         22          South-Hall  45000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0

Das folgende ist ein Beispiel, das die Ergebnisse nach NAME und SALARY in aufsteigender Reihenfolge sortiert:

sqlite> SELECT * FROM COMPANY ORDER BY NAME, SALARY ASC;

Dies erzeugt das folgende Ergebnis:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
2           Allen       25          Texas       15000.0
5           David       27          Texas       85000.0
7           James       24          Houston     10000.0
6           Kim         22          South-Hall  45000.0
4           Mark        25          Rich-Mond   65000.0
1           Paul        32          California  20000.0
3           Teddy       23          Norway      20000.0

Das folgende ist ein Beispiel, das die Ergebnisse nach NAME in absteigender Reihenfolge sortiert:

sqlite> SELECT * FROM COMPANY ORDER BY NAME DESC;

Dies erzeugt das folgende Ergebnis:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
3           Teddy       23          Norway      20000.0
1           Paul        32          California  20000.0
4           Mark        25          Rich-Mond   65000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0
5           David       27          Texas       85000.0
2           Allen       25          Texas       15000.0
Weitere Erweiterungen