sql >> Databáze >  >> RDS >> Database

Jak abecedně řadit v SQL

Problém:

Chcete zobrazit záznamy z tabulky v abecedním nebo obráceném pořadí podle daného sloupce.

Příklad:

Naše databáze má tabulku s názvem zákazník. Tabulka zákazníků obsahuje data ve sloupcích id, first_name a last_name.

id first_name last_name
1 Susan Thomas
2 Jan Michael
3 Tome Muller

Zobrazme informace o každém zákazníkovi seřazené vzestupně podle jeho příjmení.

Řešení:

SELECT id,  
    first_name,
    last_name, 
  FROM customer
  ORDER BY last_name ASC;
 

Tento dotaz vrátí abecedně seřazené záznamy:

id first_name last_name
2 Jan Michael
3 Tome Muller
1 Susan Thomas

Diskuse:

Pokud chcete vybrat záznamy z tabulky, ale chtěli byste je vidět seřazené podle daného sloupce, můžete jednoduše použít ORDER BY klauzule na konci SELECT prohlášení. Nezáleží na tom, jak komplikovaný nebo dlouhý je váš SQL dotaz – ORDER BY by měl být vždy na konci příkazu.

Po ORDER BY klíčové slovo, pojmenujete sloupec, podle kterého mají být záznamy seřazeny. V našem dotazu řadíme podle příjmení zákazníka.

nebo

Ve výchozím nastavení ORDER BY bez jakýchkoli dalších specifikátorů seřazených ve vzestupném pořadí (ekvivalent použití ASC explicitně klíčové slovo). Jak pravděpodobně tušíte, ASC znamená „vzestupně“. Pokud chcete řadit v sestupném pořadí, jednoduše zadejte DESC klíčové slovo za názvem sloupce.

Níže uvedený dotaz je podobný předchozímu, ale vrací seznam zákazníků seřazený sestupně podle jejich příjmení:

  SELECT id,  
    first_name,
    last_name, 
  FROM customer
  ORDER BY last_name DESC;
id first_name last_name
1 Susan Thomas
3 Tome Muller
2 Jan Michael

  1. Nasazení relačních databází MySQL na Ubuntu 12.04 (Precise Pangolin)

  2. Django + Psycopg2:InterfaceError:podporován pouze protokol 3

  3. Oznámení o změně s SQL Server 2008

  4. Top 50 otázek k rozhovoru pro MySQL, které si musíte připravit v roce 2022