Dela via


Kollapsa grupper av rader (Visual Database Tools)

gäller för:SQL Server

Du kan skapa ett frågeresultat där varje resultatrad motsvarar en hel grupp rader från ursprungliga data. När du komprimerar rader finns det flera saker att tänka på:

  • Du kan eliminera dubbletter av rader Vissa frågor kan skapa resultatuppsättningar där flera identiska rader visas. Du kan till exempel skapa en resultatuppsättning där varje rad innehåller stads- och delstatsnamnet för en stad som innehåller en författare , men om en stad innehåller flera författare kommer det att finnas flera identiska rader. Den resulterande SQL-filen kan se ut så här:

    SELECT city, state  
    FROM authors  
    

    Resultatuppsättningen som genererades av föregående fråga är inte särskilt användbar. Om en stad innehåller fyra författare innehåller resultatuppsättningen fyra identiska rader. Eftersom resultatuppsättningen inte innehåller några andra kolumner än ort och delstat finns det inget sätt att skilja de identiska raderna från varandra. Ett sätt att undvika sådana duplicerade rader är att inkludera ytterligare kolumner som kan göra raderna olika. Om du till exempel inkluderar författarens namn kommer varje rad att vara olika (förutsatt att inga två lika namngivna författare bor i någon stad). Den resulterande SQL-filen kan se ut så här:

    SELECT city, state, fname, minit, lname  
    FROM authors  
    

    Naturligtvis eliminerar den föregående frågan symptomet, men löser inte problemet. Det innebär att resultatuppsättningen inte har några dubbletter, men det är inte längre en resultatuppsättning om städer. Om du vill eliminera dubbletter i den ursprungliga resultatuppsättningen och ändå låta varje rad beskriva en stad, kan du skapa en fråga som bara returnerar distinkta rader. Den resulterande SQL-filen kan se ut så här:

    SELECT DISTINCT city, state  
    FROM authors  
    

    Mer information om hur du eliminerar dubbletter finns i Exclude Duplicate Rows (Visual Database Tools).

  • Du kan beräkna på grupper av rader Det vill: du kan sammanfatta information i grupper med rader. Du kan till exempel skapa en resultatuppsättning där varje rad innehåller stads- och delstatsnamnet för en stad som innehåller en författare, plus antalet författare som finns i staden. Den resulterande SQL-filen kan se ut så här:

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

    Mer information om hur du beräknar för grupper av rader finns i Sammanfatta frågeresultat (Visual Database Tools) och Sortera och Gruppera frågeresultat (Visual Database Tools).

  • Du kan använda urvalsvillkor för att inkludera grupper av rader Du kan till exempel skapa en resultatuppsättning där varje rad innehåller ortens och delstatens namn på en stad som innehåller flera författare, plus antalet författare som finns i staden. Den resulterande SQL-filen kan se ut så här:

    SELECT city, state, COUNT(*)  
    FROM authors  
    GROUP BY city, state  
    HAVING COUNT(*) > 1  
    

    Mer information om hur du tillämpar urvalsvillkor på grupper av rader finns i Ange villkor för grupper (Visual Database Tools) och Använd HAVING- och WHERE-satser i samma fråga (Visual Database Tools).

Se även

Ange sökvillkor (Visual Database Tools)
Designa frågor och vyer Handledning (Visual Database Tools)