Qualcuno mi ha inviato una query SQL in cui la clausola GROUP BY
consisteva nell'istruzione: GROUP BY 1
.Che cosa significa clausola SQL "GROUP BY 1"?
Questo deve essere un refuso vero? Nessuna colonna ha lo pseudonimo 1. Cosa potrebbe significare? Ho ragione di ritenere che questo deve essere un refuso?
Non è un errore di battitura, è la prima colonna del tuo set di risultati – Lamak
Nota che questa sintassi non è portabile. Si comporterà diversamente su database diversi da mysql. In Oracle, ad esempio, è considerato una costante. –
@RussellReed Sì. sfortunatamente (dal momento che usare un alias a volte è molto utile) ansi sql non consente il raggruppamento per colonna ordinale. La ragione è che il gruppo accade prima della proiezione. Ma poi .. cosa succede quando abbiamo raggruppato le espressioni con decine di linee .. finiamo con .. * mutipli * di decine di linee nell'istruzione sql finale. – javadba