Set di raggruppamento di PostgreSQL

Set di raggruppamento di PostgreSQL
In questo articolo, il concetto di raggruppamento sarà discusso in Postgres. Quando utilizziamo una tabella a più colonne nel nostro database, le diverse colonne rappresentano vari attributi di database e talvolta sono difficili da comprendere. Pertanto, questo problema viene risolto utilizzando i set di raggruppamento, in cui raggruppiamo diverse colonne pertinenti di cui abbiamo bisogno per l'output o per la compilazione di una somma per l'output risultante. Questo aiuta a ridurre le numerose domande che dovremo eseguire per ottenere lo stesso output.

Raggruppamento di set in SQL

Come discusso in precedenza, SQL ci consente di raggruppare le colonne di fornire output compilati nelle righe della nostra tabella di database. Quando utilizziamo le tabelle nel nostro database, ci concentriamo sui valori per avere una migliore comprensione. Tuttavia, la complessità e la scalabilità dei dati ci rendono un problema per analizzare i dati. È qui che il concetto di raggruppamenti è utile, attraverso il quale semplifichiamo le colonne in base alle nostre esigenze e quindi analizziamo i dati semplificati con facilità.

Il concetto di raggruppamento dei set è realizzato dal comando "Gruppo per" Set di raggruppamenti ". Sebbene il comando "Union All" in SQL possa svolgere lo stesso compito, richiede molte sotto-domande. Impone varie limitazioni, rendendo scomodo per lo sviluppatore e inferiore all'idea di raggruppare set, il che è più conveniente ed esatto con precisione. Il comando "Union All" richiede il numero esatto di attributi con tipi di dati identici per ciascuna colonna, quindi dobbiamo scrivere "NULL" in ogni stato del nostro codice, il che aumenta il numero di linee di query.

Nei nuovi aggiornamenti di questa lingua, il comando "Group per" è seguito dal comando "Set di raggruppamento", che non richiede diverse sotto-domande come il comando All Union e raggruppa il set in una forma semplificata. Per l'implementazione di questo concetto, dovremo seguire la sintassi generale scritta di seguito:

SELEZIONARE
First_column,
Second_column,
Aggregate_Function (terzo_column)
DA
Name_of_the_table
RAGGRUPPA PER
Set di raggruppamento (
(First_column, second_column),
(First_column),
(Second_column),
()
);

Abbiamo usato diversi comandi nella sintassi precedente:

  • Il primo è "Seleziona", in cui scegliamo le colonne per calcolare e ricevere il risultato e la funzione aggregata per il calcolo e la visualizzazione dell'uscita nell'ultima colonna. La funzione aggregata è un semplice metodo per aggregare i numeri in ogni riga nelle due colonne: somma, avg, min e max.
  • In secondo luogo, il comando "From" indica il nome della tabella nel nostro database che stiamo utilizzando per la compilazione di output. Successivamente, viene utilizzato il comando "Gruppo per" in cui vi è un'indicazione di come vogliamo compilare le colonne e l'ordine dell'uscita è anche definito nella stessa espressione.

Raggruppamento di set in postgresql

Dato che abbiamo familiarità con la sintassi dei set di raggruppamenti ora, possiamo esaminare diversi esempi per avere una buona conoscenza dell'implementazione di questo concetto in PostgreSQL. Possiamo eseguire il raggruppamento con:

  • Due colonne di una tabella
  • Tre colonne di una tabella
  • Ordine per comando

Raggruppando due colonne di una tabella

Questo esempio si riferirà a un set di raggruppamento più semplice di sole due colonne. Per prima cosa creeremo una tabella denominata record con attributi, come il numero di rollio, il nome del corso e i segni e con l'aiuto del codice indicato nel seguente frammento:

Dopo aver creato una tabella, inseriremo alcuni valori di dati nelle righe di colonne diverse che compileremo nel comando di ulteriori set di raggruppamento:

Ora scriveremo i seguenti comandi che aiutano i set di raggruppamenti in SQL. Il numero di rotolo dello studente sarà raggruppato dalla somma di tutti i segni in tutti i corsi:

Quando eseguiamo il codice precedente, otterremo il seguente output:

Come suggerisce l'output, tutte le righe sono raggruppate riguardo alla somma di tutti i segni dei corsi. La somma di tutti i marchi è mostrata rispetto allo stesso numero di rotolo. Possiamo eseguire questa funzione anche con più di un numero di rotolo in quanto raggrupperà lo stesso numero di tiri di segni di studente nella seconda colonna contro il numero di rotolo dato.

Raggruppando tre colonne di una tabella

In questo esempio, creeremo una tabella nel nostro database di 4 colonne diverse e utilizzeremo il concetto di set di raggruppamento nella tabella. Innanzitutto, dovremo eseguire il seguente codice per creare una tabella.

Quindi, inseriremo una serie di valori per due studenti diversi per diversi corsi, le ore richieste per il corso e quindi i segni di quel corso.

Dopo aver eseguito e aggiunto con successo i dati precedenti, passeremo al raggruppamento di questi dati relativi al numero di tiro dello studente e al nome del corso. Per fare ciò, scrivere ed eseguiremo il codice nel seguente frammento:

L'output del codice precedente viene visualizzato nella seguente immagine:

Come puoi vedere, abbiamo semplificato la tabella complessa in una semplificata e desiderata raggruppandola in numeri di rollio e nomi dei corsi e aggiungendo i marchi in caso di ripetizione. Ciò è accaduto nel numero del rotolo "205", i cui segni di matematica sono stati aggiunti due volte da quando sono stati ripetuti.

Possiamo anche raggruppare le colonne precedenti solo con il nome del corso e ottenere la somma dei segni in ogni corso. Per questo, scriveremo la seguente query e quindi eseguiremo:

In questa domanda, abbiamo solo raggruppato la colonna "Nome del corso" e la colonna "Marks" è stata raggruppata dalla funzione aggregata "somma". Una volta eseguita questa query, l'output sarebbe così:

Il risultato mostra una panoramica più raffinata della tabella, e questo indica il fatto che il concetto di raggruppamento ci fornisce una versione molto semplificata della tabella per aiutarci nella nostra analisi.

Raggruppando i set con il comando "ordine per"

Possiamo fare set delle colonne e ottenere la versione semplificata desiderata della tabella, ma a volte sembra ancora disorientato. Quindi possiamo semplificarlo ulteriormente utilizzando il comando "Ordine per", che darà la priorità all'attributo secondo le nostre specifiche. Dopo il comando "Group per", questo comando verrà eseguito. Per cogliere meglio il comando "ordine per" con i set di raggruppamento, useremo l'esempio precedente per applicarlo. Mentre abbiamo raggruppato correttamente le colonne nella tabella nell'ultimo esempio, lo ordineremo con il nome del corso e l'attributo dei marchi.

In questa domanda, abbiamo messo l'output per essere in ordine alfabetico dei nomi del corso come output come mostrato di seguito:

Possiamo anche ordinare l'output in ordine decrescente dei marchi scrivendo questa domanda:

Conclusione

In questo tutorial, abbiamo appreso il concetto di raggruppamenti in SQL. In questo articolo è stato discusso anche il vantaggio di utilizzare il comando "Gruppo per" sul comando "Union All". Successivamente, abbiamo anche implementato questo concetto di raggruppamenti nell'ambiente PostgreSQL che ci ha fatto avere una migliore conoscenza di questo importante concetto nel linguaggio delle query strutturato. Infine, abbiamo esaminato diversi modi di implementare questo concetto modificando alcuni fattori e persino amplificando i set di dati per monitorare l'efficienza dell'output. Speriamo che tu abbia trovato questo articolo utile. Dai un'occhiata ad altri articoli di suggerimento Linux per ulteriori suggerimenti e informazioni.