2016-08-03 16 views
0

Wie Sie wissen, wird die GROUP BY-Klausel in Verbindung mit den Aggregatfunktionen verwendet, um die Ergebnismenge nach einer oder mehreren Spalten zu gruppieren.Ist die Reihenfolge der Spalten in der GROUP BY-Klausel wichtig?

Etwas wie folgt aus:

SELECT SUM(col1), col2, col3 
FROM mytable 
GROUP BY col2, col3 
WHERE 1 

Meine Frage:GROUP BY col2, col3 und GROUP BY col3, col2 gleich sind? Aufgrund der Tests muss ich ja sagen, das Ergebnis wird für beide Aufträge identisch sein. Aber ich muss mir sicher sein. Sind sie identisch?

Antwort

0

GROUP BY kommt nach WHERE. In Bezug auf die zurückgegebenen Ergebnisse ist die Reihenfolge der Gruppen nach Spalten irrelevant; MySQL (derzeit *) ordert aber auch gruppenweise nach Gruppen.

* "aktuell" wie in der Dokumentation in den letzten Jahren zeigt, dass das Verhalten möglicherweise in zukünftigen Versionen nicht sein wird.