Doppio 'group by' in SQL

giovedì 03 luglio 2008 - 14.31

alkes83 Profilo | Junior Member

Ciao a tutti,

sto lavorando in SQL ho un problema, non so come fare una doppia raggruppazione (group by), o una sottoraggruppazione per ottenere la tabella qui sotto:



960x720 43Kb


Cioè voglio fare una prima raggruppazione per Anno e poi per Mese.
Per chiarirci, nella tabella ho (as esempio) 2 campi, nel primo ho la data della manutenzione, nella seconda un valore percentuale indicativo del rispetto programma di manutenzione.

Un esempio del codice che ho utilizzato per ottenere, solo nell'anno 2008, una raggruppazione mensile, l'ho riportata qui di seguito.

select mese, avg (perc) as media
from carta_controllo_manutenzione
where anno between 2008 and 2009
group by mese

Vi sarei grato se mi deste una mano.

Vincenzo

lbenaglia Profilo | Guru

>Cioè voglio fare una prima raggruppazione per Anno e poi per
>Mese.

Ciao Vincenzo,

Forse ho capito male, ma non è sufficiente appunto raggruppare per anno e per mese?

SELECT anno, mese, avg (perc) as media FROM carta_controllo_manutenzione WHERE anno between 2008 and 2009 GROUP BY anno, mese;

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

alkes83 Profilo | Junior Member

Lo so, sembra una stupidagine, ho provato a fare così, ma non ottengo il risultato voluto, se però tu mi dici che questo doppio raggruppamento funziona significa che sono io che sbaglio qualcosa.

Ora riprovo con più attenzione e vediamo cosa succede.

Grazie, ciao

alkes83 Profilo | Junior Member

Che sciocchino!!!!!!!!!!!!

Avevo sbagliato una cosetta. Avevi ragione tu.

Cmq visto ke mi trovo,

conosci una funzione che restituisce una cella data in un trimestre?

Come quella per il mese month() oppure dell'anno year()

Es.

Data Trimestre
14/02/2008 1
15/05/2008 2

Grazie

lbenaglia Profilo | Guru

>conosci una funzione che restituisce una cella data in un trimestre?
DATEPART (quarter, date)

>Grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5