OBJEDNAT BY v MySQL: DESC & Dotaz ASC s PŘÍKLADEM

Obsah:

Anonim

Třídění výsledků

Pomocí příkazu SELECT byly výsledky vráceny ve stejném pořadí, v jakém byly záznamy přidány do databáze. Toto je výchozí pořadí řazení. V této části se podíváme na to, jak můžeme třídit výsledky dotazů. Řazení je jednoduše přeuspořádání výsledků dotazu určitým způsobem. Řazení lze provádět na jednom sloupci nebo na více než jednom sloupci. Lze to provést na datových typech číslo, řetězce i datum.

Co je ORDER BY v MySQL?

MySQL ORDER BY se používá ve spojení s dotazem SELECT k řádnému řazení dat. Klauzule MySQL ORDER BY se používá k řazení sad výsledků dotazu ve vzestupném nebo sestupném pořadí.

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

TADY

  • „Příkaz SELECT…“ je běžný výběrový dotaz
  • „|“ představuje alternativu
  • „[WHERE condition | GROUP BY` field_name (s) `HAVING condition“ je volitelná podmínka použitá k filtrování sad výsledků dotazu.
  • "ORDER BY" provede třídění sady výsledků dotazu
  • „[ASC | DESC]“ je klíčové slovo používané k třídění sad výsledků ve vzestupném nebo sestupném pořadí. Poznámka ASC se používá jako výchozí.

Co jsou klíčová slova DESC a ASC?

ASC je krátká forma pro vzestup

MySQL DESC je krátká forma pro sestup

Používá se k řazení výsledků dotazu ve stylu shora dolů.

Slouží k řazení výsledků dotazu ve stylu zdola nahoru

Když pracujete na datových typech data, je nejstarší datum zobrazeno v horní části seznamu.

. Při práci na typech dat se v horní části seznamu zobrazuje poslední datum.

Při práci s číselnými datovými typy se nejnižší hodnoty zobrazují v horní části seznamu.

Při práci s číselnými datovými typy se nejvyšší hodnoty zobrazují v horní části sady výsledků dotazu.

Při práci s datovými typy řetězců je sada výsledků dotazu tříděna od těch, které začínají písmenem A, které stoupá až k písmenu Z.

Při práci s datovými typy řetězců je sada výsledků dotazu tříděna od těch, které začínají písmenem Z, které přechází na písmeno A.

Klíčová slova SQL DESC i ASC se používají společně ve spojení s příkazem SELECT a klauzulí ORDER BY MySQL.

Syntaxe DESC a ASC

Klíčové slovo pro řazení SQL DESC má následující základní syntaxi.

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

TADY

  • VYBRAT {poleNázev pole | *} FROM tableName (s) je příkaz obsahující pole a tabulky, ze kterých lze získat sadu výsledků.
  • [WHERE podmínka] je volitelná, ale lze ji použít k filtrování dat podle dané podmínky.
  • ORDER BY fieldname (s) je povinné a je to pole, na kterém má být provedeno třídění. Klíčové slovo MySQL DESC určuje, že řazení má být sestupně.
  • [LIMIT] je volitelný, ale lze jej použít k omezení počtu výsledků vrácených ze sady výsledků dotazu.

Příklady:

Pojďme se nyní podívat na praktický příklad -

SELECT * FROM members;

Provedení výše uvedeného skriptu v pracovní ploše MySQL proti myflixdb nám dává následující výsledky uvedené níže.

 
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 This email address is being protected from spambots. You need JavaScript enabled to view it.
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it.
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it.
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

Předpokládejme, že marketingové oddělení chce, aby byly podrobnosti členů uspořádány v sestupném pořadí podle data narození. To jim pomůže včas zaslat pozdravy k narozeninám. Uvedený seznam můžeme získat spuštěním dotazu, jak je uvedeno níže -

SELECT * FROM members ORDER BY date_of_birth DESC;

Provedení výše uvedeného skriptu v pracovní ploše MySQL proti myflixdb nám dává následující výsledky uvedené níže.

Stejný dotaz ve vzestupném pořadí

VÝBĚR * OD Členů OBJEDNAT PODLE data_of_birth ASC

Poznámka: Hodnoty NULL znamenají žádné hodnoty (ne nula nebo prázdný řetězec). Sledujte, jak byly tříděny.

Další příklady

Zvažme následující skript, který obsahuje seznam všech záznamů členů.

SELECT * FROM `members`;

Provedení výše uvedeného skriptu poskytuje následující výsledky uvedené níže.

 
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 This email address is being protected from spambots. You need JavaScript enabled to view it.
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it.
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it.
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

Předpokládejme, že chceme získat seznam, který setřídí sadu výsledků dotazu pomocí pole pohlaví, použijeme níže uvedený skript.

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 This email address is being protected from spambots. You need JavaScript enabled to view it.
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it.
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 This email address is being protected from spambots. You need JavaScript enabled to view it.
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

Nejprve se zobrazili členové „samice“ a poté členové „muži“, je to proto, že když se použije klauzule ORDER BY DESC bez zadání klíčového slova ASC nebo MySQL DESC, ve výchozím nastavení MySQL setřídil sadu výsledků dotazu vzestupně.

Podívejme se nyní na příklad, který provádí třídění pomocí dvou sloupců ; První z nich je seřazena ve vzestupném pořadí, ve výchozím nastavení, zatímco druhý sloupec se řazeny v sestupném pořadí.

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

Provedení výše uvedeného skriptu v pracovní ploše MySQL proti myflixdb poskytuje následující výsledky.

Sloupec pohlaví byl ve výchozím nastavení seřazen vzestupně, zatímco sloupec datum narození byl explicitně seřazen sestupně

Proč můžeme používat DESC a ASC?

Předpokládejme, že chceme vytisknout historii plateb pro člena videotéky, abychom mohli odpovídat na dotazy z recepce, nebylo by logičtější nechat si platby vytisknout v sestupném chronologickém pořadí počínaje poslední platbou předchozí platbě?

DESC v SQL je klíčové slovo, které se v takových situacích hodí. Pomocí data platby můžeme napsat dotaz, který seřadí seznam sestupně.

Předpokládejme, že marketingové oddělení chce získat seznam filmů podle kategorií, které mohou členové použít k rozhodování o tom, které filmy jsou k dispozici v knihovně při půjčování filmů, nebylo by logičtější vzestupně třídit názvy a názvy kategorií filmů tak, aby členové mohou rychle vyhledávat informace ze seznamu?

Klíčové slovo ASC se v takových situacích hodí; můžeme získat seznam filmů seřazený podle názvu kategorie a názvu filmu ve vzestupném pořadí.

souhrn

  • Řazení výsledků dotazu znamená nové uspořádání řádků vrácených ze sady výsledků dotazu ve vzestupném nebo sestupném pořadí.
  • Klíčové slovo DESC v SQL se používá k seřazení sady výsledků dotazu v sestupném pořadí.
  • Klíčové slovo ASC se používá k seřazení sady výsledků dotazu ve vzestupném pořadí.
  • DESC i ASC fungují ve spojení s klíčovým slovem ORDER BY. Mohou být také použity v kombinaci s dalšími klíčovými slovy, jako je klauzule WHERE a LIMIT
  • Výchozí hodnota pro OBJEDNAT BY, když nic není výslovně uvedeno, je ASC.