Procedura: Riepilogo o aggregazione di valori per tutte le righe di una tabella (Visual Database Tools)
Con una funzione di aggregazione è possibile creare un riepilogo di tutti i valori di una tabella. Per visualizzare, ad esempio, il prezzo totale di tutti i libri nella tabella titles, è possibile creare una query analoga alla seguente:
SELECT SUM(price)
FROM titles
Se si utilizza la funzione di aggregazione con più colonne, sarà possibile creare più aggregazioni nella stessa query. È ad esempio possibile creare una query per il calcolo del totale della colonna price e la media della colonna discount.
Inoltre, è possibile aggregare la stessa colonna in modi diversi, calcolando ad esempio totale, conteggio e media nella stessa query. L'esempio seguente riguarda una query in cui viene calcolata la media ed eseguito il riepilogo della colonna price della tabella titles:
SELECT AVG(price), SUM(price)
FROM titles
Se si aggiunge un criterio di ricerca sarà possibile aggregare il subset delle righe che soddisfano tale criterio.
[!NOTA]
È inoltre possibile contare tutte le righe della tabella o le righe che soddisfano una specifica condizione. Per informazioni dettagliate, vedere Procedura: Conteggio delle righe di una tabella (Visual Database Tools).
Quando si crea un singolo valore di aggregazione per tutte le righe di una tabella, vengono visualizzati solo i valori aggregati. Se ad esempio si calcola il valore totale della colonna price della tabella titles, non vengono visualizzati i singoli titoli, i nomi degli editori e così via.
[!NOTA]
Quando si crea un subtotale e dunque si creano gruppi, è possibile visualizzare i valori delle colonne per ciascun gruppo. Per informazioni dettagliate, vedere Procedura: Raggruppamento di righe nei risultati di una query (Visual Database Tools).
Per aggregare i valori di tutte le righe
Assicurarsi che la tabella che si desidera aggregare sia già presente nel riquadro Diagramma.
Fare clic con il pulsante destro del mouse sullo sfondo del riquadro Diagramma, quindi scegliere Raggruppa dal menu di scelta rapida. In Progettazione query e Progettazione viste verrà aggiunta una colonna Group By alla griglia nel riquadro Criteri.
Aggiungere al riquadro Criteri la colonna da aggregare. Assicurarsi che la colonna sia contrassegnata per l'output.
Verrà assegnato automaticamente un alias di colonna alla colonna di cui si effettua il riepilogo. Tale alias può essere sostituito con un alias più significativo. Per informazioni dettagliate, vedere Procedura: Creazione di alias di colonna (Visual Database Tools).
Nella colonna della griglia Group By selezionare la funzione di aggregazione appropriata, ad esempio Sum, Avg, Min, Max, Count. Per aggregare solo le righe univoche nel gruppo di risultati, scegliere una funzione di aggregazione con l'opzione DISTINCT, ad esempio Min Distinct. Non utilizzare Group By, Expression o Where, in quanto tali opzioni non sono applicabili per l'aggregazione di tutte le righe.
Il nome della colonna nell'istruzione nel riquadro SQL verrà sostituito con la funzione di aggregazione specificata. L'istruzione SQL, ad esempio, può essere analoga alla seguente:
SELECT SUM(price) FROM titles
Per creare più aggregazioni in una query, ripetere i passaggi 3 e 4.
Quando si aggiunge un'altra colonna nell'elenco di output della query o nell'elenco di ordinamento, il termine Group By verrà inserito automaticamente nella colonna Group By della griglia. Selezionare la funzione di aggregazione desiderata.
Aggiungere le condizioni di ricerca eventualmente necessarie per specificare il subset di righe da riepilogare.
Quando si esegue la query, nel riquadro Risultati verranno visualizzate le aggregazioni specificate.
[!NOTA]
In Progettazione query e Progettazione viste le funzioni di aggregazione vengono mantenute nell'istruzione SQL nel riquadro SQL fino a quando non viene disattivata esplicitamente la modalità di raggruppamento. Se pertanto si modifica la query cambiandone il tipo o cambiando le tabelle o gli oggetti con valori di tabella presenti nel riquadro Diagramma, la query risultante potrebbe includere funzioni di aggregazione non valide.