GROUP BY (SQL): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Messbot (discussione | contributi)
top: +O
Avviso U
 
(5 versioni intermedie di 5 utenti non mostrate)
Riga 1:
{{OU|verso=a|Structured Query Language|informatica|dicembremaggio 20222024}}
Nel linguaggio [[Structured Query Language|SQL]], un'[[Istruzione (informatica)|istruzione]] '''<code>GROUP BY</code>''' indica che la selezione <code>SELECT</code> deve partizionare le righe del risultato in gruppi, in funzione del loro valore in una o più colonne. L'istruzione <code>GROUP BY</code> si riferisce alle colonne e tipicamente è usata per sintitizzare i dati in una qualche [[funzione aggregata]] per ogni gruppo.<ref>{{Cite web|title=SQL GROUP BY Statement|url=https://www.w3schools.com/sql/sql_groupby.asp}}</ref><ref>{{Cite web|last=shkale-msft|title=GROUP BY (Transact-SQL) - SQL Server|url=https://docs.microsoft.com/en-us/sql/t-sql/queries/select-group-by-transact-sql|language=en-us}}</ref>
 
Nel linguaggio [[Structured Query Language|SQL]], un'[[Istruzione (informatica)|istruzione]] '''<code>GROUP BY</code>''' indica che la selezione <code>SELECT</code> deve partizionare le righe del risultato in gruppi, in funzione del loro valore in una o più colonne. L'istruzione <code>GROUP BY</code> si riferisce alle colonne e tipicamente è usata per sintitizzaresintetizzare i dati in una qualche [[funzione aggregata]] per ogni gruppo.<ref>{{CiteCita web|titletitolo=SQL GROUP BY Statement|url=https://www.w3schools.com/sql/sql_groupby.asp}}</ref><ref>{{CiteCita web|lastcognome=shkalehkale-msft|titletitolo=GROUP BY (Transact-SQL) - SQL Server|url=https://docs.microsoft.com/en-us/sql/t-sql/queries/select-group-by-transact-sql|languagelingua=en-us}}</ref>
Il risultato di una [[query]] avente l'istruzione <code>GROUP BY</code> contiene una riga per ogni grupo. Ciò implica la presenza di [[Vincolo di integrità|vincoli]] sulle colonne che possono comparire nella <code>SELECT</code>. Come regola generale, la <code>SELECT</code> può contenere solo colonne con un valore univoco per gruppo (i dati oggetto di selezione da parte della <code>SELECT</code> possono anche contenere valori ripetuti e in particolare nulli, ma non i valori delle colonne rispetto a cui si ordina il risultato).<ref>{{Cite web|title=SQL Grouping and Aggregation|url=http://www.databaselecture.com/sql.html|language=en-us}}</ref>
 
Il risultato di una [[query]] avente l'istruzione <code>GROUP BY</code> contiene una riga per ogni grupogruppo. Ciò implica la presenza di [[Vincolo di integrità|vincoli]] sulle colonne che possono comparire nella <code>SELECT</code>. Come regola generale, la <code>SELECT</code> può contenere solo colonne con un valore univoco per gruppo (i dati oggetto di selezione da parte della <code>SELECT</code> possono anche contenere valori ripetuti e in particolare nulli, ma non i valori delle colonne rispetto a cui si ordina il risultato).<ref>{{CiteCita web|titletitolo=SQL Grouping and Aggregation|url=http://www.databaselecture.com/sql.html|languagelingua=en-us}}</ref>
 
==Esempi==
Line 20 ⟶ 21:
 
Le più comuni funzioni di aggregazione sono:
* Conteggio '''COUNT'''(espressione) - Quantità di record corrispondenti (per gruppo)
* Somma '''SUM'''(espressione) - Somma dei valori dati (per gruppo)
* Min '''MIN'''(espressione) - Minimo dei valori dati (per gruppo)
* Max '''MAX'''(espressione) - Massimo dei valori dati (per gruppo)
* Avg '''AVG'''(espressione) - Media dei valori dati (per gruppo)
 
==Note==
Line 37 ⟶ 38:
{{controllo di autorità}}
{{portale|informatica}}
 
[[Categoria:Linguaggi di interrogazione]]
[[Categoria:SQL]]