Sortera rader (Visual Database Tools)

gäller för:SQL Server

Du kan sortera raderna i ett frågeresultat. Det innebär att du kan namnge en viss kolumn eller uppsättning kolumner vars värden avgör ordningen på rader i resultatuppsättningen.

Notera

Sorteringsordningen bestäms delvis av kolumnens sorteringssekvens. Du kan ändra sorteringssekvensen i dialogrutan Sortering.

Det finns flera sätt att sortera frågeresultat:

  • Du kan ordna rader i stigande eller fallande ordning

    Som standard använder SQL order-by-kolumner för att ordna rader i stigande ordning. Om du till exempel vill ordna boktitlarna efter stigande pris sorterar du bara raderna efter priskolumnen. Den resulterande SQL-filen kan se ut så här:

    SELECT *
    FROM titles
    ORDER BY price;
    

    Å andra sidan, om du vill ordna titlarna med de dyrare böckerna först, kan du uttryckligen ange en högst-först ordning. Det innebär att du anger att resultatraderna ska ordnas med fallande värden i priskolumnen. Den resulterande SQL-filen kan se ut så här:

    SELECT *
    FROM titles
    ORDER BY price DESC;
    
  • Du kan sortera efter flera kolumner

    Du kan till exempel skapa en resultatuppsättning med en rad för varje författare, först efter delstat och sedan efter stad. Den resulterande SQL-filen kan se ut så här:

    SELECT *
    FROM authors
    ORDER BY state, city;
    
  • Du kan sortera efter kolumner som inte visas i resultatuppsättningen

    Du kan till exempel skapa en resultatuppsättning med de dyraste titlarna först, även om priserna inte visas. Den resulterande SQL-filen kan se ut så här:

    SELECT title_id,
           title
    FROM titles
    ORDER BY price DESC;
    
  • Du kan sortera efter härledda kolumner

    Du kan till exempel skapa en resultatuppsättning där varje rad innehåller en boktitel – där de böcker som betalar högst royalty per kopia visas först. Den resulterande SQL-filen kan se ut så här:

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

    (Formeln för att beräkna royaltyn som varje bok tjänar per kopia betonas.)

    Om du vill beräkna en härledd kolumn kan du använda SQL-syntax, som i föregående exempel, eller använda en användardefinierad funktion som returnerar ett skalärt värde. Mer information om användardefinierade funktioner finns i SQL Server-dokumentationen.

  • Du kan sortera grupperade rader

    Till exempel; du kan skapa en resultatuppsättning där varje rad beskriver en stad, plus antalet författare i staden – där de städer som innehåller många författare visas först. Den resulterande SQL-filen kan se ut så här:

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

    Frågan används state som en sekundär sorteringskolumn. Om två tillstånd har samma antal författare visas dessa tillstånd i alfabetisk ordning.

  • Du kan sortera med hjälp av internationella data

    Det är; du kan sortera en kolumn med hjälp av sorteringskonventioner som skiljer sig från standardkonventionerna för den kolumnen. Du kan till exempel skriva en fråga som hämtar alla boktitlar av Jaime Patiño. Om du vill visa rubrikerna i alfabetisk ordning använder du en spansk sorteringssekvens för rubrikkolumnen. Den resulterande SQL-filen kan se ut så här:

    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;