Poiché questo non è stato menzionato qui. Le risposte di cui sopra sono corrette, ovvero l'ordine delle colonne dopo la clausola "group by" non influirà sulla correttezza della query (ovvero l'importo della somma).
Tuttavia, l'ordine delle righe da recuperare varierà in base all'ordine delle colonne specificate dopo la clausola "group by". Ad esempio, considera la tabella A
con le seguenti righe:
Col1 Col2 Col3
1 xyz 100
2 abc 200
3 xyz 300
3 xyz 400
SELECT *, SUM(Col3) FROM A GROUP BY Col2, Col1
recupererà le righe ordinate da Col2
in ordine crescente.
Col1 Col2 Col3 sum(Col3)
2 abc 200 200
1 xyz 100 100
3 xyz 300 700
Ora cambia l'ordine della colonna nel gruppo da a Col1, Col2
. Le righe recuperate vengono ordinate in base a Col1
.
cioè select *, sum(Col3) from A group by Col1, Col2
Col1 Col2 Col3 sum(Col3)
1 xyz 100 100
2 abc 200 200
3 xyz 300 700
Nota: l'importo della somma (ovvero la correttezza della query) rimane esattamente lo stesso.