Condividi tramite


Raggruppare righe nei risultati delle query (Visual Database Tools)

si applica a:SQL Server

Se si desidera creare subtotali o visualizzare altre informazioni di riepilogo per i sottoinsiemi di una tabella, si creano gruppi utilizzando una query di aggregazione. Ogni gruppo riepiloga i dati per tutte le righe della tabella con lo stesso valore.

Ad esempio, è possibile visualizzare il prezzo medio di un libro nella tabella titles, ma suddividere i risultati in base all'editore. A tale scopo, raggruppare la query in base al server di pubblicazione, ad esempio pub_id. L'output della query risultante potrebbe essere simile al seguente:

Screenshot dei risultati della query: prezzo medio raggruppato per editore.

Quando si raggruppano i dati, è possibile visualizzare solo dati di riepilogo o raggruppati, ad esempio:

  • Valori delle colonne raggruppate ,quelle visualizzate nella GROUP BY clausola . Nell'esempio precedente pub_id è la colonna raggruppata.

  • Valori prodotti da funzioni di aggregazione come SUM( ) e AVG( ). Nell'esempio precedente la seconda colonna viene prodotta usando la funzione AVG( ) con la colonna price.

Non è possibile visualizzare valori da singole righe. Ad esempio, se si raggruppa solo in base al server di pubblicazione, non è possibile visualizzare anche singoli titoli nella query. Pertanto, se si aggiungono colonne all'output della query, gli strumenti di Progettazione query e Progettazione viste (Visual Database Tools) li aggiunge automaticamente alla GROUP BY clausola dell'istruzione nel riquadro SQL (Visual Database Tools) . Se invece si desidera aggregare una colonna, è possibile specificare una funzione di aggregazione per tale colonna.

Se si raggruppano in base a più colonne, ogni gruppo nella query mostra i valori di aggregazione per tutte le colonne di raggruppamento.

Ad esempio, la seguente query sulla tabella titles raggruppa per editore (pub_id) e anche per tipo di libro (type). I risultati della query vengono ordinati in base all'editore e mostrano le informazioni di riepilogo per ogni tipo di libro diverso prodotto dall'editore:

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

L'output risultante potrebbe essere simile al seguente:

Screenshot dei risultati della query: prezzo raggruppato in base al server di pubblicazione e al tipo.

Raggruppare le righe

  1. Avviare la query aggiungendo le tabelle da riepilogare al riquadro Diagramma.

  2. Fare clic con il pulsante destro del mouse sullo sfondo del riquadro Diagramma, quindi scegliere Aggiungi raggruppamento per dal menu di scelta rapida. Progettazione delle query e delle viste aggiunge una colonna Group By alla griglia nel riquadro dei criteri.

  3. Aggiungere la colonna o le colonne da raggruppare al riquadro Criteri. Se si vuole che la colonna appaia nell'output della query, assicurarsi che la colonna Output sia selezionata per l'output.

    Progettazione query e Progettazione viste aggiunge una GROUP BY clausola all'istruzione nel riquadro SQL. Ad esempio, l'istruzione SQL potrebbe essere simile alla seguente:

    SELECT pub_id
    FROM titles
    GROUP BY pub_id;
    
  4. Aggiungere la colonna o le colonne da aggregare al riquadro Criteri. Assicurarsi che la colonna sia contrassegnata per l'output.

  5. Nella cella della griglia Raggruppa per per la colonna che verrà aggregata selezionare la funzione di aggregazione appropriata.

    Progettazione query e Progettazione viste assegna automaticamente un alias di colonna alla colonna che si sta riepilogando. È possibile sostituire questo alias generato automaticamente con uno più significativo. Per altri dettagli, vedere Creare alias di colonna (Visual Database Tools).For more details, see Create column aliases (Visual Database Tools).

    Screenshot dell'aggiunta di un alias di colonna al set di risultati della query.

    L'istruzione corrispondente nel riquadro SQL potrebbe essere simile alla seguente:

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