PDA

Visualizza la versione completa : [ACCESS] Uso della clausola GROUP BY in statement SQL


tony83
12-01-2007, 18:36
Scusate non riesco a capire..

Ho bisogno di fare un group by sul campo nomegruppo e il nomegruppo ragrupparli per il numero del mese del campo data, e infine anche recuperare semplicemente il campo data..

Ho fatto numerevoli tentavivi.. ma non riesco..

Ho visto anche sui manuali ma niente!!

Esempio:

nomegruppo - data
PAOLO - 01 (che sarebbe il mese) - 01/01/2007
PAOLO - 02 - 01/02/2007
FRANCO - 12 - 01/12/2007
MARIO - 02 - 01/02/2007

etc..

quindi scarterebbe per esempio:
PAOLO - 02 - 15/02/2007

Come si fa??

GRazie anticipatamente!!

LeleFT
12-01-2007, 18:41
Io non ho mica capito cosa intendi fare.
La clausola GROUP BY si usa con le funzioni di aggregazione (somme, conteggi, medie...)
Ad esempio, se voglio sapere quanti sono i membri di ciascun gruppo:


SELECT nomegruppo, count(*)
FROM tabella
GROUP BY nomegruppo;

Quella in grassetto si chiama funzione di aggregazione.
La clausola GROUP BY è obbligatoria quando si hanno funzioni di aggregazione... senza di esse non ha alcun signficato.


Ciao. :ciauz:

tony83
13-01-2007, 15:14
Originariamente inviato da LeleFT
Io non ho mica capito cosa intendi fare.
La clausola GROUP BY si usa con le funzioni di aggregazione (somme, conteggi, medie...)
Ad esempio, se voglio sapere quanti sono i membri di ciascun gruppo:


SELECT nomegruppo, count(*)
FROM tabella
GROUP BY nomegruppo;

Quella in grassetto si chiama funzione di aggregazione.
La clausola GROUP BY è obbligatoria quando si hanno funzioni di aggregazione... senza di esse non ha alcun signficato.


Ciao. :ciauz:

OK però pensa ad avere una tabella formata cosi:

CAMPI:

nomegruppo - data

E I SEGUENTI RECORD:

PAOLO - 01/01/2007
PAOLO - 01/02/2007
FRANCO - 01/12/2007
MARIO - 01/02/2007

Io dovrei ottenere solo:

UN GROUP BY di nomegruppo e qualora capitano nello stesso gruppo 2 date che hanno il mese diverso allora tirami furi entrambi anche se hanno lo stesso nomegruppo e poi estraggi anche la data cosi ci lavoro sopra!!

come si fa??

tony83
14-01-2007, 22:51
Originariamente inviato da tony83
OK però pensa ad avere una tabella formata cosi:

CAMPI:

nomegruppo - data

E I SEGUENTI RECORD:

PAOLO - 01/01/2007
PAOLO - 01/02/2007
FRANCO - 01/12/2007
MARIO - 01/02/2007

Io dovrei ottenere solo:

UN GROUP BY di nomegruppo e qualora capitano nello stesso gruppo 2 date che hanno il mese diverso allora tirami furi entrambi anche se hanno lo stesso nomegruppo e poi estraggi anche la data cosi ci lavoro sopra!!

come si fa??


Ho trovato la clausola dovrebbe essere una cosa del genere:

SELECT prova.nomegruppo, Mid(data,4,2) AS Espr1
FROM prova
GROUP BY prova.nomegruppo, Mid(data,4,2);

Ora però ho bisogno di recuperare qualche informazioni in più... quindi devo avere per esempio l'id della scheda.. come faccio a recuperare anche altri campi senza che influenza sul risultato della query??? devo avere anche la visualizazzione di altri campi... In poche parole noon devono essere compresi nel group by ma solo estrarre quel dato...

come posso fare??

Loading