404 Stimmen

Was bedeutet die SQL-Klausel "GROUP BY 1"?

Jemand hat mir eine SQL-Abfrage geschickt, bei der die GROUP BY Die Klausel bestand aus der Aussage: GROUP BY 1 .

Das muss ein Tippfehler sein, oder? Keine Spalte hat den Alias 1. Was könnte das bedeuten? Liege ich richtig in der Annahme, dass es sich um einen Tippfehler handelt?

6voto

wdoering Punkte 321

Es wird nach der Spaltenposition gruppiert, die Sie nach der Gruppenklausel angeben.

Wenn Sie zum Beispiel ' SELECT SALESMAN_NAME, SUM(SALES) FROM SALES GROUP BY 1 ' gruppiert er nach SALESMAN_NAME .

Ein Risiko dabei ist, dass Sie die Option ' Select * ' und Sie die Tabelle aus irgendeinem Grund mit Spalten in einer anderen Reihenfolge neu erstellen, erhalten Sie ein anderes Ergebnis, als Sie erwarten würden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X