Sdílet prostřednictvím


Řazení řádků (Visual Database Tools)

platí pro:SQL Server

Řádky můžete uspořádat ve výsledku dotazu. To znamená, že můžete pojmenovat konkrétní sloupec nebo sadu sloupců, jejichž hodnoty určují pořadí řádků v sadě výsledků.

Poznámka

Pořadí řazení je částečně určeno pořadím kolace sloupce. Pořadí kolace můžete změnit v dialogovém okně Kolace.

Výsledky dotazu můžete řadit několika způsoby:

  • Řádky můžete uspořádat vzestupně nebo sestupně.

    Sql ve výchozím nastavení používá sloupce seřazené podle pořadí k uspořádání řádků ve vzestupném pořadí. Pokud chcete například uspořádat názvy knih vzestupně, jednoduše seřaďte řádky podle sloupce ceny. Výsledný SQL může vypadat takto:

    SELECT *
    FROM titles
    ORDER BY price;
    

    Na druhou stranu, pokud chcete uspořádat tituly s dražšími knihami jako první, můžete explicitně zadat nejvyšší pořadí. To znamená, že výsledné řádky by měly být uspořádány sestupně hodnotami sloupce ceny. Výsledný SQL může vypadat takto:

    SELECT *
    FROM titles
    ORDER BY price DESC;
    
  • Můžete řadit podle více sloupců.

    Můžete například vytvořit sadu výsledků s jedním řádkem pro každého autora, seřadit nejprve podle státu a pak podle města. Výsledný SQL může vypadat takto:

    SELECT *
    FROM authors
    ORDER BY state, city;
    
  • Řazení podle sloupců, které se nezobrazují v sadě výsledků

    Můžete například vytvořit sadu výsledků s nejdražšími tituly, i když se ceny nezobrazí. Výsledný SQL může vypadat takto:

    SELECT title_id,
           title
    FROM titles
    ORDER BY price DESC;
    
  • Můžete řadit podle odvozených sloupců.

    Můžete například vytvořit sadu výsledků, ve které každý řádek obsahuje název knihy – s knihami, které platí nejvyšší poplatky za kopii, které se objeví jako první. Výsledný SQL může vypadat takto:

    SELECT title,
           price * royalty / 100 AS royalty_per_unit
    FROM titles
    ORDER BY royalty_per_unit DESC;
    

    (Vzorec pro výpočet tantiém, které každá kniha získá za jeden výtisk, je zdůrazněn.)

    K výpočtu odvozeného sloupce můžete použít syntaxi SQL, jako v předchozím příkladu, nebo můžete použít uživatelem definovanou funkci, která vrací skalární hodnotu. Další informace o uživatelem definovaných funkcích najdete v dokumentaci k SQL Serveru.

  • Seskupené řádky můžete seřadit.

    Například; Můžete vytvořit sadu výsledků, ve které každý řádek popisuje město a počet autorů v daném městě – s městy, která obsahují mnoho autorů, kteří se zobrazují jako první. Výsledný SQL může vypadat takto:

    SELECT city,
           state,
           COUNT(*)
    FROM authors
    GROUP BY city, state
    ORDER BY COUNT(*) DESC, state;
    

    Dotaz se používá state jako sekundární sloupec řazení. Pokud tedy dva státy mají stejný počet autorů, zobrazí se tyto stavy v abecedním pořadí.

  • Řazení pomocí mezinárodních dat

    To je; Sloupec můžete seřadit pomocí konvencí řazení, které se liší od výchozích konvencí pro daný sloupec. Můžete například napsat dotaz, který získá všechny názvy knih Jaime Patiño. Pokud chcete zobrazit názvy v abecedním pořadí, použijte španělskou řadicí posloupnost pro sloupec s názvy. Výsledný SQL může vypadat takto:

    SELECT title
    FROM authors
         INNER JOIN titleauthor
             ON authors.au_id = titleauthor.au_id
         INNER JOIN titles
             ON titleauthor.title_id = titles.title_id
    WHERE au_fname = 'Jaime'
          AND au_lname = 'Patiño'
    ORDER BY title COLLATE SQL_Spanish_Pref_CP1_CI_AS;