Dela via


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 ort. 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 rubrikerna 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 till exempel sortera grupperade rader. 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  
    

    Observera att frågan använder 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 Dvs. 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  
    

Se även

sortera och gruppera frågeresultat (Visual Database Tools)
Utforma frågor och vyer Instruktioner (Visual Database Tools)