Guidainlinea.com - Risorse gratuite per Webmaster

| ASP | PHP | Download | Flash | NEWS | Grafica | .NET | Basi Banner | PhpNuke | Forum | Top100 | Webring |

 
100cocktails
   

 

 

 

 

 

 

Le funzioni di aggregazione

Uno dei più utili comandi all'interno della clausola WHERE è sicuramente il GROUP BY, che serve per aggregare i dati secondo alcuni criteri; nelle query con questa clausola si possono usare funzioni che permettono di calcolare medie, somme, massimi, minimi etc; per esempio la funzione COUNT effettua il conteggio delle righe restituite, mentre la funzione AVG effettua la media dei valori dell'intervallo.

Nella parte dopo la parola chiave SELECT, che deve contenere i nomi dei campi da estrarre, possono essere messi solo campi contenuti nella clausola GROUP BY o funzioni di calcolo di valori su intervalli (perché? Sai spiegarlo?)

Es: Prendiamo ora invece la tabella Progetti:

Nome_progetto Ore_uomo Ambito
fax 400 Comunicazioni
mail 700 Comunicazioni
contabilità 3500 Gestionale
stipendi 7000 Gestionale
SMTP 400 Comunicazioni
POP 7000 Comunicazioni
inventario 10500 Gestionale

La query

SELECT Ambito, Count(*) As TOT, AVG(Ore_uomo) AS MEDIA
FROM Progetti GROUP BY Ambito

Ritorna

Ambito TOT MEDIA
Comunicazioni 4 2125
Gestionale 3 7000

La funzione AVG effettua la media sui valori contenuti nel campo Ore_uomo, raggruppati secondo il valore contenuto nel campo Ambito.

La clausola HAVING pone delle condizioni sulle clausole di gruppo, per esempio per condiderare solo i raggruppamenti che hanno più di un certo numero di elementi:

Es: con la stessa tabella dell'esempio precedente, la query

SELECT Count(*) As NUM, Ore_uomo
FROM Progetti
GROUP BY Ore_uomo
HAVING Count(*)>1

NUM Ore_uomo
2 400
2 7000

Che si riferiscono ovviamente alla 1°, 4°, 5° e 6° riga della tabella.


Lezione successiva >>>

Torna all'indice

.:: Le sezioni ::.

 .: HTML
 .:
ASP
 .:
PHP
 .:
CSS
 .:
.NET
 .:
CGI/PERL
 .:
Flash
 .:
Download
 .:
JavaScript
 .:
FrontPage
 .:
DreamWeaver
 .:
IIS
 .:
PaintShop Pro
 .:
SQL
 .:
VisualBasic
 .:
XML.NET
 .:
PHPNuke
 .:
PhotoShop
 .:
Basi banner

.:: Script & File ::.

 .: ASP
 .:
.NET
 .:
PHP
 .:
CGI/PERL
 .:
Movies
 .:
Basi Banner
 .:
Programmi

.:: FAQ ::.

 .: ASP
 .:
HTML
 .:
PHP
 .:
CSS

.:: Tutorials ::.

 .: ASP
 .:
PhotoShop
 .:
Flash
 .:
JavaScript

 

 

Guidainlinea.com come homepage |  Aggiungi questa pagina ai preferiti
Home | Manuali | EBooks | Libri | NewsLetter | Community | Corsi | Shopping | Guadagna | Servizi | Mandaci il tuo tutorial | Links
Per qualsiasi informazioni scrivi alla Redazione al Webmaster o per informazioni generali ad info@manuali.net - Note Legali