[Oracle] Group by in una tabella

Vince.Scav

Nuovo Utente
21 Feb 2019
4
0
1
Salve a tutti, stavo sperimentando con TOAD alcuni comandi per fare una select avendo una colonna sesso, una colonna reddito e una colonna nome. Il mio obbiettivo è fare prima un ordinamento in base al sesso e poi fare il totale reddito di tutti i maschi e tutte le femmine solo che provando con group by mi da alcuni errori ed essendo alle prime armi vorrei sapere se qualcuno sa come fare.

Obbiettivo finale: Vedere i nomi ordinati per sesso con il totale prima di un sesso e poi dell'altro.
 

Vince.Scav

Nuovo Utente
21 Feb 2019
4
0
1
Io sono arrivato a questa query il problema è che vorrei un sum(reddito) totale di tutti M e tutte F non per singola persona
 

Allegati

marino51

Utente Attivo
28 Feb 2013
2.678
135
63
Lombardia
non mi é chiaro bene il risultato, ma provo a darti 2 soluzioni,

con la prima ottieni i due totali F/M o comunque i totali sommati per i valori presenti nella colonna sesso
Codice:
select sesso, sum(reddito) as reddito group by sesso order by sesso
la seconda ti produce (dovrebbe) un elenco di F, il suo totale, M ed il suo totale
Codice:
select sesso, nome, reddito, 1 as sequenza
union
select sesso, "TOTALE" as nome, sum(reddito) as reddito, 2 as sequenza group by sesso, sequenza, nome
order by sesso, sequenza, nome
in questo esempio, nota che in entrambe le select, sono presenti gli stessi nomi nello stesso ordine ….
 

Vince.Scav

Nuovo Utente
21 Feb 2019
4
0
1
Il secondo codice mi da questo errore: ORA-00923: parola chiave FROM non trovata dove prevista
 

marino51

Utente Attivo
28 Feb 2013
2.678
135
63
Lombardia
anche il primo ti deve dare lo stesso errore,
supponevo leggessi la query e inserissi il nome della tabella da dove leggere i dati
prima di buttarti a scrivere che ti da errore …...