Dela via


Gruppera rader i frågeresultat (Visual Database Tools)

gäller för:SQL Server

Om du vill skapa delsummor eller visa annan sammanfattningsinformation för delmängder i en tabell skapar du grupper med hjälp av en aggregeringsfråga. Varje grupp sammanfattar data för alla rader i tabellen som har samma värde.

Du kanske till exempel vill se genomsnittspriset för en bok i tabellen titles, men dela upp resultatet efter utgivare. För att göra det grupperar du frågan efter utgivare (till exempel pub_id). Resultatet av frågan kan se ut så här:

Frågeresultat: genomsnittligt pris grupperat efter utgivare

När du grupperar data kan du bara visa sammanfattnings- eller grupperade data, till exempel:

  • Värdena för de grupperade kolumnerna (de som visas i GROUP BY-satsen). I exemplet ovan är pub_id den grupperade kolumnen.

  • Värden som genereras av aggregerade funktioner som SUM( ) och AVG( ). I exemplet ovan skapas den andra kolumnen med hjälp av funktionen AVG( ) med kolumnen price.

Du kan inte visa värden från enskilda rader. Om du till exempel bara grupperar efter utgivare kan du inte heller visa enskilda rubriker i frågan. Om du lägger till kolumner i frågeutdata lägger Query och View Designer därför automatiskt till dem i GROUP BY-satsen i -instruktionen i SQL-fönstret. Om du vill att en kolumn ska aggregeras i stället kan du ange en mängdfunktion för den kolumnen.

Om du grupperar efter mer än en kolumn visar varje grupp i frågan aggregerade värden för alla grupperingskolumner.

Följande fråga mot titles-tabellen grupperar efter förlag (pub_id) och även efter boktyp (type). Frågeresultaten sorteras efter utgivare och visar sammanfattningsinformation för varje typ av bok som utgivaren skapar:

SELECT pub_id, type, SUM(price) Total_price  
FROM titles  
GROUP BY pub_id, type  

Resultatet kan se ut så här:

Frågeresultat: pris grupperat efter utgivare och typ

Gruppera rader

  1. Starta frågan genom att lägga till de tabeller som du vill sammanfatta i fönstret Diagram.

  2. Högerklicka på bakgrunden i fönstret Diagram och välj sedan Lägg till grupp efter på snabbmenyn. Fråge- och vydesignern lägger till en kolumn Gruppera efter i rutnätet i fönstret Villkor.

  3. Lägg till kolumnen eller kolumnerna som du vill gruppera i fönstret Villkor. Om du vill att kolumnen ska visas i frågeutdata kontrollerar du att kolumnen Output har valts för utdata.

    Fråge- och vydesignern lägger till ett GROUP BY-uttryck i satsen i SQL-fönstret. SQL-instruktionen kan till exempel se ut så här:

    SELECT pub_id  
    FROM titles  
    GROUP BY pub_id  
    
  4. Lägg till kolumnen eller kolumnerna som du vill aggregera i fönstret Villkor. Kontrollera att kolumnen är markerad för utdata.

  5. I rutnätscellen Gruppera efter för kolumnen som ska aggregeras, väljer du lämplig sammanfattningsfunktion.

    Fråge- och vydesignern tilldelar automatiskt ett kolumnalias till den kolumn som du sammanfattar. Du kan ersätta det här automatiskt genererade aliaset med ett mer meningsfullt. Mer information finns i Skapa kolumnalias.

    Lägga till ett kolumnalias i frågeresultatuppsättningen

    Motsvarande instruktion i fönstret SQL kan se ut så här:

    SELECT   pub_id, SUM(price) AS Totalprice  
    FROM     titles  
    GROUP BY pub_id  
    

Se även

sortera och gruppera frågeresultat