|
|
Microsoft SQL ServerLEZIONI - AGGREGAZIONE DEI DATI Pensiamo alla solita tabella ORDINI e a dei calcoli di tipo statistico che il cliente potrebbe chiederci. Ad esempio, se volessimo ottenere il numero di ordini per cliente, dovremmo si eseguire una JOIN tra le informazioni anagrafiche e gli ordini, ma non solo, dovremmo effettuare anche una "conta" dei record per ogni cliente, quindi avremmo bisogno dell'ausilio di un programma. T-SQL offre la clausola GROUP BY, che ci consente di raggruppare i dati secondo determinati criteri logici e varie funzioni matematica. Istruzione GROUP-BYServe principalmente per rendere semplice l'estrapolazione di dati di tipo statistico, o comunque con il valore calcolato da raggruppamenti e filtri. Listato 1. Voglio conoscere i clienti che hanno effettuato ordini SELECT Istruzione COUNTNell'istruzione precedente possiamo aggiungere la quantità di ordini di ogni cliente. Per calcolare la quantità usiamo in questo caso la funzione COUNT che conta le righe estratte. Nel caso di un group by conta le righe che comparirebbero. Listato 2. I clienti che hanno effettuato ordini con il numero di ordini SELECT Questa prima parte è servita per comprendere la logica che si deve usare con SQL Server per poter estrarre dati complessi, senza dover intervenire con codice di programmazione esterno. Funzioni di CALCOLOIn questa sezione vediamo alcune funzioni di calcolo che sicuramente potranno tornare utili. Restiamo sempre in ambito statistico e pensiamo ad un resoconto degli ordini annuali. Dovremmo evidenziare per ogni cliente, non solo il numero di ordini, ma, il totale speso, l'ordine nel quale ha speso di più e la media di quanto ha speso per ordine. Listato 3. Query per resoconti annuali SELECT Con la funzione SUM calcoliamo la somma dei valori del campo prezzo. Il totale speso da ogni cliente. La funzione AVG che sta per average (media) restituisce la media spesa per ordine, ovvero il totale speso diviso il numero di ordini effettuati. Ultima, la funzione MAX (esiste anche una funzione MIN), fornisce il valore massimo per il set di record estratti. Infine T-SQL offre una moltitudine di funzioni per l'elaborazione e la trasformazione dei dati, come un normale linguaggio di programmazione. Avremo, per esempio, la funzione substring per estrapolare parti di stringa o concat per unire più stringhe. (Fonte: Html.it)
|