Oracle
 sql >> Database >  >> RDS >> Oracle

ORA-00979 non è un gruppo per espressione

Devi inserire tutte le colonne di SELECT nel GROUP BY oppure usa funzioni su di essi che comprimono i risultati in un singolo valore (come MIN , MAX o SUM ).

Un semplice esempio per capire perché questo accade:Immagina di avere un database come questo:

FOO BAR
0   A
0   B

ed esegui SELECT * FROM table GROUP BY foo . Ciò significa che il database deve restituire una singola riga come risultato con la prima colonna 0 per soddisfare il GROUP BY ma ora ci sono due valori di bar tra cui scegliere. Quale risultato ti aspetteresti:A o B ? Oppure il database dovrebbe restituire più di una riga, violando il contratto di GROUP BY ?