BESTELLEN NACH in MySQL: DESC & ASC-Abfrage mit BEISPIEL

Ergebnisse sortieren

Mit dem SELECT-Befehl wurden die Ergebnisse in derselben Reihenfolge zurückgegeben, in der die Datensätze zur Datenbank hinzugefügt wurden. Dies ist die Standardsortierreihenfolge. In diesem Abschnitt schauen wir uns an, wie wir unsere Abfrageergebnisse sortieren können. Beim Sortieren geht es einfach darum, unsere Abfrageergebnisse auf eine bestimmte Weise neu anzuordnen. Die Sortierung kann für eine einzelne Spalte oder für mehr als eine Spalte durchgeführt werden. Dies kann sowohl für Zahlen-, Zeichenfolgen- als auch für Datumsdatentypen durchgeführt werden.

Was ist ORDER BY in? MySQL?

MySQL SORTIEREN NACH wird in Verbindung mit der SELECT-Abfrage verwendet, um Daten geordnet zu sortieren. Der MySQL Die ORDER BY-Klausel wird verwendet, um die Abfrageergebnismengen entweder in aufsteigender oder absteigender Reihenfolge zu sortieren.

SELECT statement... [WHERE condition | GROUP BY `field_name(s)` HAVING condition] ORDER BY `field_name(s)` [ASC | DESC];

KLICKEN SIE HIER

  • "SELECT-Anweisung... " ist die reguläre Auswahlabfrage
  • “ | „ stellt Alternativen dar
  • „[WHERE-Bedingung | GROUP BY „Feldname(n)“ HAVING-Bedingung“ ist die optionale Bedingung, die zum Filtern der Abfrageergebnissätze verwendet wird.
  • "SORTIEREN NACH" Führt die Sortierung der Abfrageergebnismenge durch
  • „[ASC | BESCHR.]“ ist das Schlüsselwort, mit dem Ergebnismengen entweder in aufsteigender oder absteigender Reihenfolge sortiert werden. Notiz ASC wird als Standard verwendet.
  • Was sind DESC- und ASC-Schlüsselwörter?

    DESC- und ASC-SchlüsselwörterASC ist die Kurzform für aufsteigend DESC- und ASC-SchlüsselwörterMySQL DESC ist die Kurzform für absteigend
    Es wird verwendet, um die Abfrageergebnisse von oben nach unten zu sortieren. Es wird verwendet, um die Abfrageergebnisse von unten nach oben zu sortieren
    Beim Arbeiten mit Datumsdatentypen wird das früheste Datum oben in der Liste angezeigt. . Beim Arbeiten mit Datumstypen wird das neueste Datum oben in der Liste angezeigt.
    Beim Arbeiten mit numerischen Datentypen werden die niedrigsten Werte oben in der Liste angezeigt. Beim Arbeiten mit numerischen Datentypen werden die höchsten Werte oben im Abfrageergebnissatz angezeigt.
    Bei der Arbeit mit Zeichenfolgendatentypen wird die Abfrageergebnismenge von den Datentypen beginnend mit dem Buchstaben A bis zum Buchstaben Z sortiert. Bei der Arbeit mit Zeichenfolgendatentypen wird die Abfrageergebnismenge von den Datentypen beginnend mit dem Buchstaben Z bis hinunter zum Buchstaben A sortiert.

    Sowohl die SQL-Schlüsselwörter DESC als auch ASC werden zusammen in Verbindung mit der SELECT-Anweisung und verwendet MySQL ORDER BY-Klausel.


    DESC- und ASC-Syntax

    Das SQL DESC-Sortierschlüsselwort hat die folgende grundlegende Syntax.

    SELECT {fieldName(s) | *} FROM tableName(s) [WHERE condition] ORDER BY fieldname(s) ASC /DESC [LIMIT N]

    KLICKEN SIE HIER

    • SELECT {fieldName(s) | *} FROM Tabellenname(n) ist die Anweisung, die die Felder und Tabellen enthält, aus denen die Ergebnismenge abgerufen werden soll.
    • [WHERE-Bedingung] ist optional, kann aber verwendet werden, um die Daten entsprechend der angegebenen Bedingung zu filtern.
    • SORTIEREN NACH Feldname(n) ist obligatorisch und ist das Feld, für das die Sortierung durchgeführt werden soll. Der MySQL Das Schlüsselwort DESC gibt an, dass die Sortierung in absteigender Reihenfolge erfolgen soll.
    • [GRENZE] ist optional, kann aber verwendet werden, um die Anzahl der von der Abfrageergebnismenge zurückgegebenen Ergebnisse zu begrenzen.

    Beispiele:

    Schauen wir uns nun ein praktisches Beispiel an –

    SELECT * FROM members;

    Ausführen des obigen Skripts in MySQL Workbench gegen myflixdb liefert uns die folgenden, unten dargestellten Ergebnisse.

membership_number full_names gender date_of_birth physical_address postal_address contct_number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 rm@tstreet.com
4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553


Nehmen wir an, die Marketingabteilung möchte die Mitgliederdaten in absteigender Reihenfolge nach Geburtsdatum anordnen. Dies hilft ihnen, Geburtstagsgrüße rechtzeitig zu versenden. Wir können die besagte Liste abrufen, indem wir eine Abfrage wie die folgende ausführen –

SELECT * FROM members ORDER BY date_of_birth DESC;

Ausführen des obigen Skripts in MySQL Workbench gegen myflixdb liefert uns die folgenden, unten dargestellten Ergebnisse.

DESC- und ASC-Beispiel

Dieselbe Abfrage in aufsteigender Reihenfolge

SELECT * FROM member ORDER BY date_of_birth ASC

DESC- und ASC-Beispiel

Hinweis: NULL-Werte bedeuten keine Werte (nicht Null oder leere Zeichenfolge). Beobachten Sie die Art und Weise, wie sie sortiert wurden.

Weitere Beispiele

Betrachten wir das folgende SQL-Sortierskript, das alle Mitgliedsdatensätze auflistet.

SELECT * FROM `members`;

Die Ausführung des obigen Skripts führt zu den unten gezeigten Ergebnissen.

membership_number full_names gender date_of_birth physical_address postal_address contct_number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 rm@tstreet.com
4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553 NULL


Angenommen, wir möchten eine Liste erhalten, die die Abfrageergebnismenge nach dem Feld „Geschlecht“ sortiert, dann würden wir das unten gezeigte Skript verwenden.

SELECT * FROM `members` ORDER BY `gender`;
membership_number full_names gender date_of_birth physical_address postal_address contct_number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 rm@tstreet.com
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553 NULL

„Weibliche“ Mitglieder wurden zuerst angezeigt, gefolgt von „Männlichen“ Mitgliedern, da bei Verwendung der ORDER BY DESC-Klausel ohne Angabe des ASC oder MySQL DESC-Schlüsselwort, standardmäßig MySQL hat die Abfrageergebnismenge in aufsteigender Reihenfolge sortiert.

Schauen wir uns nun ein Beispiel an, das dies tut Sortieren nach zwei Spalten; der erste ist sortiert in aufsteigende Reihenfolge standardmäßig, während die zweite Spalte ist sortiert in absteigende Reihenfolge.

SELECT * FROM `members` ORDER BY `gender`,`date_of_birth` DESC;

Ausführen des obigen Skripts in MySQL Workbench gegen myflixdb liefert die folgenden Ergebnisse.

DESC- und ASC-Beispiel

Die Spalte „Geschlecht“ wurde standardmäßig in aufsteigender Reihenfolge sortiert, während die Spalte „Geburtsdatum“ explizit in absteigender Reihenfolge sortiert wurde

Warum dürfen wir DESC und ASC verwenden?

Angenommen, wir möchten einen Zahlungsverlauf für ein Mitglied der Videothek ausdrucken, um die Beantwortung von Anfragen an der Rezeption zu erleichtern. Wäre es dann nicht logischer, die Zahlungen in absteigender chronologischer Reihenfolge, beginnend mit der letzten Zahlung bis zur früheren Zahlung, auszudrucken?

DESC in SQL ist ein Schlüsselwort, das in solchen Situationen nützlich ist. Wir können eine Abfrage schreiben, die die Liste anhand des Zahlungsdatums in absteigender Reihenfolge sortiert.

Angenommen, die Marketingabteilung möchte eine Liste von Filmen nach Kategorien erhalten, anhand derer Mitglieder beim Ausleihen von Filmen entscheiden können, welche Filme in der Bibliothek verfügbar sind. Wäre es dann nicht logischer, die Namen und Titel der Filmkategorien aufsteigend zu sortieren? Mitglieder können die Informationen in der Liste schnell nachschlagen?

Das Schlüsselwort ASC ist in solchen Situationen praktisch; Wir können die Filmliste nach Kategoriename und Filmtitel in aufsteigender Reihenfolge sortieren lassen.

Zusammenfassung

  • Beim Sortieren von Abfrageergebnissen werden die von einem Abfrageergebnissatz zurückgegebenen Zeilen entweder in aufsteigender oder absteigender Reihenfolge neu angeordnet.
  • Das Schlüsselwort DESC wird in SQL verwendet, um die Abfrageergebnismenge in absteigender Reihenfolge zu sortieren.
  • Das Schlüsselwort ASC wird verwendet, um die Abfrageergebnismenge in aufsteigender Reihenfolge zu sortieren.
  • Sowohl DESC als auch ASC funktionieren in Verbindung mit dem Schlüsselwort ORDER BY. Sie können auch in Kombination mit anderen Schlüsselwörtern verwendet werden, z WHERE-Klausel und GRENZE
  • Der Standardwert für ORDER BY ist ASC, wenn nichts explizit angegeben wurde.