Sintassi:
Il rollup viene utilizzato per creare un gruppo di colonne. Quindi qualsiasi funzione aggregata di mysql e gruppo per clausola viene utilizzata nella query selezionata in cui viene utilizzato il rollup. La sintassi del rollup è mostrata di seguito. I nomi dei campi della tabella che verranno utilizzati dopo che la clausola selezionata verrà utilizzata con il gruppo per raggruppamento.
Seleziona Field1, Field2 AggregateFunction (Field3)Usi dell'istruzione Rollup in Select Query:
In questo tutorial sono stati mostrati diversi usi dell'istruzione rollup con il gruppo per clausola nella query selezionata.
Prerequisiti:
È necessario creare una tabella di database con i dati in un database MySQL per verificare l'uso dell'istruzione Rollup con il gruppo per clausola in MySQL. Apri il terminale e connettiti con il server MySQL eseguendo il comando seguente.
$ sudo mysql -u rootEsegui il comando seguente per creare un database denominato test_db.
Crea database test_db;Esegui il comando seguente per selezionare il database.
Usa test_db;Esegui la seguente query per creare una tabella denominata Sales_persons con quattro campi.
Crea table Sales_persons (Eseguire la seguente query per inserire tre record nel venditore tavolo.
Inserisci in "Sales_persons" ("id", "nome", "email", "contact_no") valori (null, "kamal hasan", "[email protected] ',' 0191275634 '),Esegui la seguente query per creare una tabella denominata saldi con quattro campi che contiene una chiave straniera che crea una relazione da uno a molti con il Sales_persons tavolo a saldi tavolo.
Crea vendite di tabelle (Eseguire la seguente query per inserire quattro record nel saldi tavolo.
Inserisci in "Sales" ("Id", "Sales_date", "importo", "sp_id") valoriEsempio-1: crea un rapporto di riepilogo senza utilizzare l'istruzione rollup
Le seguenti query selezionate calcoleranno il rapporto di riepilogo dell'importo totale delle vendite di ciascun venditore e l'importo di vendita complessivo di tutte le vendite utilizzando Union All con due query selezionate. Una query selezionata recupererà il nome del venditore e le vendite totali di quel venditore. Un'altra domanda calcolerà le vendite di tutti i venditori. Eseguire la seguente query dal prompt mysql.
Seleziona nome, somma (importo) come totaleProduzione:
Verrà visualizzato il seguente output dopo aver eseguito la query sopra. C'è un record per il venditore chiamato "Abir Hossain" con il valore ID 3 nel saldi Tabella e l'importo è 563400. Ci sono tre record per il venditore chiamato "Kamal Hasan" con il valore ID, 1 nella tabella delle vendite, e l'importo totale delle vendite è 8400000. La somma di tutto l'importo delle vendite è 563400+8400000 = 8963400.
Produzione:
Verrà visualizzato il seguente output dopo aver eseguito la query sopra. Il campo Nome mostrerà il valore nullo per la riga che contiene l'importo totale.
Esempio 2: uso del rollup con una funzione campo e sum ()
L'output generato nell'esempio precedente può essere generato facilmente utilizzando l'istruzione rollup che è stata mostrata in questo esempio. La query selezionata che è stata utilizzata per contare l'importo totale delle vendite di tutti i venditori nell'esempio precedente non è richiesta nella seguente query a causa dell'utilizzo dell'istruzione rollup. Il campo Nome del saldi La tabella è stata utilizzata con la funzione aggregata nella query selezionata. Il gruppo per clausola contiene il campo Nome con l'istruzione Rollup.
Seleziona nome, somma (importo) come totaleProduzione:
Verrà visualizzato il seguente output dopo aver eseguito la query sopra. Come l'esempio precedente, il campo Nome mostrerà il valore nullo per la riga che contiene l'importo totale.
Esempio-3: Uso del rollup con la funzione anno () insieme alla funzione Sum ()
In questo esempio l'uso di qualsiasi funzione integrata MySQL con la funzione aggregata per l'uso dell'istruzione rollup. Le seguenti query selezionate mostreranno il rapporto di riepilogo dell'importo delle vendite in base all'anno di vendita. La funzione dell'anno () è stata utilizzata nella query per scoprire il valore dell'anno dalla data di vendita. Secondo i dati inseriti della tabella di vendita, ci sono due voci per il 2020 e due voci per l'anno 2021.
Seleziona l'anno (sales_date), somma (importo) come totaleProduzione:
Verrà visualizzato il seguente output dopo aver eseguito la query sopra. L'importo totale delle vendite per l'anno 2020 è 563400+6700000 o 7263400. L'importo totale delle vendite per l'anno 2021 è 800000+900000 o 1700000. Il totale di 7263400+1700000 è 8963400.
Conclusione:
Molte query complesse possono essere facilmente implementate utilizzando l'istruzione rollup. Gli usi di questa affermazione sono stati mostrati utilizzando più tabelle in questo tutorial per aiutare i nuovi utenti MySQL.