17 Maggio 2022
Expand search form

Cos’è il rollup di SQL Server?

Nel mio ultimo articolo ho discusso la clausola GROUP BY. Questo articolo amplierà l’argomento GROUP BY discutendo gli operatori ROLLUP, CUBE e GROUPING SETS. Questi operatori sono usati con la clausola GROUP BY e permettono di creare subtotali, grandi totali e superinsiemi di subtotali. Continuate a leggere per saperne di più su questi ulteriori operatori GROUP BY.

Capire gli operatori ROLLUP, CUBE e GROUPING SETS

Cosa fanno gli operatori ROLLUP, CUBE e GROUPING SETS? Permettono di creare subtotali e grandi totali in diversi modi.

L’operatore ROLLUP viene usato con la clausola GROUP BY. Viene usato per creare subtotali e grandi totali per un insieme di colonne. Gli importi riassunti vengono creati in base alle colonne passate all’operatore ROLLUP.

Anche gli operatori CUBE, come l’operatore ROLLUP, producono subtotali e grandi totali. Ma a differenza dell’operatore ROLLUP produce subtotali e grandi totali per ogni permutazione delle colonne fornite all’operatore CUBE.

Articoli correlati

Infine, l’operatore GROUPING SETS vi permette di raggruppare i vostri dati in diversi modi in una singola istruzione SELECT. Per capire meglio questi tre diversi operatori di raggruppamento, rivediamo alcuni esempi di come possono essere usati.

Dati di esempio per gli esempi

Prima di mostrarvi come utilizzare questi diversi operatori GROUP BY ho bisogno di generare alcuni dati di prova che possono essere utilizzati per i miei esempi. Il codice qui sotto creerà una tabella di esempio che userò per tutti i miei esempi.

Potete creare questa tabella se volete seguire i miei esempi.

Esempi di ROLLUP

L’operatore ROLLUP permette a SQL Server di creare subtotali e grandi totali, mentre raggruppa i dati usando la clausola GROUP BY. Per il mio primo esempio, lasciatemi usare l’operatore ROLLUP per generare un totale generale per PurchaseType eseguendo questo codice:

Quando eseguo questo codice ottengo questo risultato:

Esaminando l’output di cui sopra si può vedere che questo codice ha creato dei subtotali per tutti i diversi PurchaseTypes e poi alla fine ha prodotto un GrandTotal per tutti i PurchaseTypes combinati. Se guardate il codice sopra, ho ottenuto che il PurchaseType di “Grand Total” venisse visualizzato usando la clausola coalesce. Senza la clausola coalesce il valore della colonna PurchaceType sarebbe stato “Null” per la riga del totale generale.

Supponiamo che io voglia calcolare i subtotali di ProductTypes per mese, con un totale mensile per tutti i prodotti venduti nel mese. Potrei farlo eseguendo il seguente codice:

Qui ho incluso due colonne nella clausola ROLLUP. La prima colonna era il mese dell’acquisto, e la seconda colonna è PurchaseType. Questo mi ha permesso di creare i subtotali per Tipo di prodotto per mese, così come l’importo totale mensile alla fine di ogni mese. Inoltre questo codice crea un totale di sovvenzione di tutte le vendite di prodotti alla fine.

Esempio CUBE

L’operatore CUBE vi permette di riassumere i vostri dati in modo simile all’operatore ROLLUP. L’unica differenza è che l’operatore CUBE riepilogherà i vostri dati sulla base di ogni permutazione delle colonne passate all’operatore CUBE. Per dimostrarlo eseguirò il codice qui sotto:

Quando eseguo questo codice, esso genera importi riassunti per ogni permutazione delle colonne passate all’operatore CUBE. Nel mio esempio avevo due valori passati all’operatore CUBE: “month(PurchaseDate)” e “PurchaseType”. Quindi le diverse permutazioni degli importi riassunti sono “PurchaseType”, “PurchaseType e month(PurchaseDate)”, e infine “month(PurchaseDate)”. Potete vedere questi diversi importi riassunti nell’output qui sotto:

I risultati di cui sopra hanno generato prima i subtotali per ogni Tipo di acquisto per mese, seguiti dal Totale generale per ogni Tipo di acquisto. Una volta che ogni tipo di acquisto è stato visualizzato per mese con il suo totale generale, questo codice produce un totale generale per tutti gli acquisti. Infine produce i subtotali mensili.

Esempio di GROUPING SETS

A volte si desidera raggruppare i dati in più modi diversi. L’operatore GROUPING SETS permette di farlo con una singola istruzione SELECT, invece di più istruzioni SELECT con diverse clausole GROUP BY unite insieme. Per dimostrarlo, rivedete il codice qui sotto:

Quando si esegue il codice di cui sopra si ottiene il seguente output:

Qui potete vedere che SQL Server prima raggruppa i miei dati di esempio in base a PurchaseType, poi raggruppa i dati in base al mese di acquisto. Questo codice è equivalente al codice qui sotto che usa due istruzioni SELECT con l’output di entrambe le istruzioni unite usando una clausola UNION ALL:

Se eseguite il codice qui sopra vedrete che produce gli stessi risultati della singola istruzione SELECT con una clausola GROUPING SETS.

Riepilogo

Come potete vedere l’uso delle clausole ROLLUP, CUBE o GROUPING SETS vi permette molti modi diversi per produrre valori di subtotali e totali per un insieme di record. Avere questi diversi metodi per creare i subtotali e i grandi totali vi permette di avere più opzioni su come riassumere i vostri dati con una singola istruzione SELECT. La prossima volta che vuoi produrre più set di record riassunti, prova ad usare ROLLUP, CUBE, o GROUPING SETS per ottenere i tuoi dati riassunti.

Potresti anche essere interessato agli argomenti

Cos’è il rollup SQL?

Il ROLLUP è un’estensione della clausola GROUP BY. L’opzione ROLLUP ti permette di includere righe extra che rappresentano i subtotali, che sono comunemente chiamate righe super-aggregate, insieme alla riga del totale generale. Utilizzando l’opzione ROLLUP, è possibile utilizzare una singola query per generare più set di raggruppamenti.

Continua…

Cosa sono il cubo e il rollup in SQL Server?

ROLLUP e CUBE sono semplici estensioni della clausola GROUP BY dell’istruzione SELECT. ROLLUP crea subtotali a qualsiasi livello di aggregazione necessario, dal più dettagliato fino al totale generale. CUBE è un’estensione simile a ROLLUP, che permette ad una singola istruzione di calcolare tutte le possibili combinazioni di subtotali.

Continua…

Cos’è l’operatore ROLLUP?

L’operatore ROLLUP si usa con la clausola GROUP BY. Viene utilizzato per creare subtotali e grandi totali per un insieme di colonne. Gli importi riassunti vengono creati in base alle colonne passate all’operatore ROLLUP. Gli operatori CUBE, come l’operatore ROLLUP, producono anche i subtotali e i grandi totali.Mar 2, 2015

Continua…

Cos’è la tabella di rollup?

Le tabelle di rollup sono tabelle in cui vengono salvati i totali per (combinazioni di) condizioni. Una “tabella riassuntiva”, che contiene valori pre-aggregati per tutte le condizioni per le quali potresti aver bisogno di ottenere dei totali. 16 luglio 2013

Continua…

Qual è la differenza tra roll up e Cube?

CUBE genera un set di risultati che mostra gli aggregati per tutte le combinazioni di valori nelle colonne selezionate. ROLLUP genera un set di risultati che mostra gli aggregati per una gerarchia di valori nelle colonne selezionate.Dec 1, 2014

Continua…

Cosa significa rollup dei dati?

Prima che i dati grezzi vengano eliminati, i dati vengono riassunti, o “arrotolati”, a intervalli predefiniti. I dati roll-up sono il termine dato ai dati che sono stati riassunti. Prima che i dati grezzi vengano eliminati, i valori minimi, massimi e medi vengono calcolati e possono essere conservati in diversi modi.

Continua…

Cosa significa rollup?

: aumentare o acquisire per accumuli successivi: accumulare arrotolato una grande maggioranza. verbo intransitivo. 1 : diventare più grande per accumuli successivi.

Continua…

Come si crea una query di rollup in SQL?

Rollup in SQL Server – YouTube | Tempo – 0:53 [Inglese]

Continua…

Perché il cubo è utile in SQL?

Introduzione a SQL CUBE CUBE permette di generare subtotali come l’estensione ROLLUP. Inoltre, l’estensione CUBE genererà subtotali per tutte le combinazioni di colonne di raggruppamento specificate nella clausola GROUP BY.

Continua…

Cos’è una strategia di roll up?

Una strategia di roll up è definita come la pianificazione e l’acquisto di più business all’interno di un settore specifico. Per esempio, Kraft che si lancia in una corsa all’acquisto di aziende lattiero-casearie più piccole per sostenere il suo business alimentare.Feb 22, 2021

Continua…

Qual è la differenza tra roll up e drill down?

Il drill-down si riferisce al processo di visualizzazione dei dati ad un livello di dettaglio maggiore, mentre il roll-up si riferisce al processo di visualizzazione dei dati con dettaglio decrescente.

Continua…

Cosa sono le viste in linea in SQL?

Una vista in linea è un’istruzione SELECT nella clausola FROM di un’altra istruzione SELECT per creare una tabella temporanea che potrebbe essere referenziata dall’istruzione SELECT. Le viste in linea sono utilizzate per scrivere query SQL complesse senza operazioni di join e subquery.Mar 1, 2019

Continua…

Come si fa un esercizio di roll up?

Esercizio di Roll Up Pilates – Kristi Cooper – YouTube | Tempo – 0:45 [Inglese]

Continua…

Come funziona un roll up?

Una strategia di roll up è il processo di acquisizione e fusione di più piccole aziende nello stesso settore e il loro consolidamento in una grande azienda. L’unione di piccole imprese in una società più grande permette a quest’ultima di riunire le proprie risorse, ridurre i costi operativi e aumentare le entrate.

Continua…

Cosa rende un roll up di successo?

In generale, le fusioni roll-up di successo condividono queste caratteristiche: Prendono di mira industrie grandi ma altamente frammentate, prive di un attore dominante. I consolidatori hanno un processo collaudato che crea valore. I consolidatori hanno un piano di gioco collaudato per identificare gli obiettivi, valutarli e poi integrarli.Apr 11, 2019

Continua…

Articolo precedente

Quali verdure hanno i carboidrati più bassi?

Articolo successivo

Perché i chiodi per tetti si ritirano?

You might be interested in …

Qual è la differenza tra Dicom e hl7?

Vai su PACS e informatica dell’imaging: Principi di base e applicazioni, seconda edizione ora con l’apprendimento online di O’Reilly. I membri di O’Reilly sperimentano la formazione online dal vivo, oltre a libri, video e contenuti […]