RENDELÉS BE MySQL: DESC & ASC lekérdezés EXAMPLE-vel

Eredmények rendezése

A SELECT paranccsal az eredmények ugyanabban a sorrendben kerültek visszaadásra, ahogyan a rekordokat hozzáadtuk az adatbázishoz. Ez az alapértelmezett rendezési sorrend. Ebben a részben azt nézzük meg, hogyan rendezhetjük a lekérdezés eredményeit. A rendezés egyszerűen a lekérdezés eredményeinek meghatározott módon történő átrendezését jelenti. A rendezés elvégezhető egyetlen oszlopon vagy több oszlopon is. Megtehető számokra, karakterláncokra, valamint dátum adattípusokra.

Mi az, hogy az ORDER BY MySQL?

MySQL RENDEZÉS A SELECT lekérdezéssel együtt használatos az adatok rendezett rendezésére. A MySQL Az ORDER BY záradék a lekérdezési eredménykészletek növekvő vagy csökkenő sorrendbe rendezésére szolgál.

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

ITT

  • "SELECT utasítás... " a szokásos kiválasztási lekérdezés
  • ” | " alternatívákat jelent
  • „[WHERE feltétel | GROUP BY "field_name(s)" HAVING feltétel a lekérdezési eredménykészletek szűrésére használt opcionális feltétel.
  • "RENDEZÉS" elvégzi a lekérdezés eredménykészletének rendezését
  • „[ASC | DESC]” a kulcsszó az eredményhalmazok növekvő vagy csökkenő sorrendbe rendezésére. jegyzet ASC alapértelmezettként használatos.
  • Mik azok a DESC és ASC kulcsszavak?

    DESC és ASC kulcsszavakAz ASC az emelkedő rövid formája DESC és ASC kulcsszavakMySQL A DESC a csökkenő rövid formája
    A lekérdezés eredményeinek felülről lefelé történő rendezésére szolgál. A lekérdezés eredményeinek alulról felfelé történő rendezésére szolgál
    Amikor dátum adattípusokon dolgozik, a legkorábbi dátum jelenik meg a lista tetején. . Amikor dátumtípusokon dolgozik, a legutolsó dátum jelenik meg a lista tetején.
    Ha numerikus adattípusokkal dolgozik, a legalacsonyabb értékek a lista tetején jelennek meg. Ha numerikus adattípusokkal dolgozik, a legmagasabb értékek a lekérdezés eredménykészletének tetején jelennek meg.
    Karakterlánc-adattípusokkal végzett munka során a lekérdezés eredménykészlete az A betűvel kezdődőktől a Z betűig terjedő sorrendben történik. Amikor karakterlánc-adattípusokkal dolgozik, a lekérdezés eredménykészlete a Z betűvel kezdődőtől az A betűig lefelé rendeződik.

    Mind az SQL DESC, mind az ASC kulcsszavak együtt használatosak a SELECT utasítással és a MySQL RENDELÉS záradék szerint.


    DESC és ASC szintaxis

    Az SQL DESC rendezési kulcsszó a következő alapvető szintaxissal rendelkezik.

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

    ITT

    • SELECT {fieldName(s) | *} FROM táblanév(ek) az az utasítás, amely tartalmazza azokat a mezőket és táblázat(oka)t, amelyekből az eredménykészlet lekérhető.
    • [WHERE feltétel] opcionális, de használható az adatok adott feltétel szerinti szűrésére.
    • RENDEZÉS A mezőnév(ek) kötelező, és ez az a mező, amelyen a rendezést el kell végezni. A MySQL A DESC kulcsszó megadja, hogy a rendezés csökkenő sorrendben történjen.
    • [HATÁR] opcionális, de használható a lekérdezési eredménykészletből visszaadott eredmények számának korlátozására.

    Példák:

    Nézzünk most egy gyakorlati példát –

    SELECT * FROM members;

    A fenti szkript végrehajtása MySQL munkapad a myflixdb-vel szemben a következő eredményeket adja az alábbiakban.

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


Tegyük fel, hogy a marketing osztály azt szeretné, hogy a tagok adatai a születési dátum szerinti csökkenő sorrendben legyenek elrendezve. Ez segít nekik időben elküldeni születésnapi üdvözletüket. Az említett listát az alábbi lekérdezés végrehajtásával kaphatjuk meg -

SELECT * FROM members ORDER BY date_of_birth DESC;

A fenti szkript végrehajtása MySQL munkapad a myflixdb-vel szemben a következő eredményeket adja az alábbiakban.

DESC és ASC példa

Ugyanaz a lekérdezés növekvő sorrendben

SELECT * FROM tagok ORDER BY születési_dátum ASC

DESC és ASC példa

Megjegyzés: A NULL értékek azt jelentik, hogy nincsenek értékek (nem nulla vagy üres karakterlánc). Figyelje meg a válogatás módját.

További példák

Tekintsük a következő SQL rendezést szkript szerint, amely felsorolja az összes tagrekordot.

SELECT * FROM `members`;

A fenti szkript végrehajtása az alábbi eredményeket adja.

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


Tegyük fel, hogy egy listát szeretnénk kapni, amely a gender mező segítségével rendezi a lekérdezés eredménykészletét, akkor az alább látható szkriptet használjuk.

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

Először a „női” tagok jelennek meg, majd a „férfi” tagok, ennek az az oka, hogy amikor az ORDER BY DESC záradékot az ASC ill. MySQL DESC kulcsszó alapértelmezés szerint MySQL növekvő sorrendbe rendezte a lekérdezés eredménykészletét.

Nézzünk most egy példát, amely a rendezés két oszlop használatával; az első az rendezve in növekvő sorrendben alapértelmezés szerint, míg a második oszlop az rendezve in csökkenő sorrend.

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

A fenti szkript végrehajtása MySQL munkapad a myflixdb ellen a következő eredményeket adja.

DESC és ASC példa

A nem oszlop alapértelmezés szerint növekvő sorrendben, míg a születési dátum oszlop kifejezetten csökkenő sorrendben lett rendezve

Miért használhatjuk a DESC-t és az ASC-t?

Tegyük fel, hogy fizetési előzményeket szeretnénk nyomtatni egy videotár-tag számára, hogy segítsünk válaszolni a recepción feltett kérdésekre, nem lenne logikusabb, ha a kifizetéseket csökkenő időrendben nyomtatnánk ki, a legutóbbi befizetéstől a korábbi fizetésig?

A DESC az SQL-ben olyan kulcsszó, amely hasznos lehet ilyen helyzetekben. Írhatunk lekérdezést, amely a fizetési dátum alapján csökkenő sorrendbe rendezi a listát.

Tegyük fel, hogy a marketing osztály szeretné megszerezni a filmek kategóriánkénti listáját, amely alapján a tagok eldönthetik, hogy mely filmek érhetők el a könyvtárban filmkölcsönzéskor, nem lenne logikusabb, ha a filmkategóriák nevét és címét növekvő sorrendbe rendezné, hogy a tagok gyorsan kikereshetik az információkat a listáról?

Az ASC kulcsszó jól jön ilyen helyzetekben; megkaphatjuk a filmlistát kategórianév és filmcím szerint növekvő sorrendbe rendezve.

Összegzésként

  • A lekérdezés eredményeinek rendezése a lekérdezési eredménykészletből visszaadott sorok növekvő vagy csökkenő sorrendbe rendezése.
  • A DESC kulcsszó az SQL-ben a lekérdezés eredménykészletének csökkenő sorrendbe rendezésére szolgál.
  • Az ASC kulcsszó a lekérdezés eredménykészletének növekvő sorrendbe rendezésére szolgál.
  • Mind a DESC, mind az ASC az ORDER BY kulcsszóval együtt működik. Más kulcsszavakkal együtt is használhatók, mint pl WHERE záradék és LIMIT
  • Az ORDER BY alapértelmezett értéke, ha semmi nincs kifejezetten megadva, az ASC.