Allgemeine Tabellenausdrücke sind nützlich, sobald mehrere Stufen von Aggregaten in einer einzigen Abfrage vorkommen müssen. Das ist der Fall im Beispiel des vorherigen Abschnitts. Die Aufgabe war es, die Abteilungs-ID der Abteilung abzufragen, die die meisten Mitarbeiter hat. Um das zu erreichen, wird die COUNT-Aggregatfunktion verwendet, um die Anzahl der Mitarbeiter in den einzelnen Abteilungen zu berechnen, und die MAX-Funktion, um die größte Abteilung auszuwählen.
Eine ähnliche Situation entsteht, wenn Sie eine Abfrage schreiben um festzustellen, welche Abteilung die höchste Lohnsumme hat. Die SUM-Aggregatfunktion wird verwendet, um die Lohnsumme der einzelnen Abteilungen zu berechnen, und die MAX-Funktion, um festzustellen, welche die größte ist. Das Vorhandensein beider Funktionen in der Abfrage weist darauf hin, dass ein allgemeiner Tabellenausdruck hilfreich sein könnte.
WITH DeptPayroll( DepartmentID, amt ) AS ( SELECT DepartmentID, SUM( Salary ) AS amt FROM Employees GROUP BY DepartmentID ) SELECT DepartmentID, amt FROM DeptPayroll WHERE amt = ( SELECT MAX( amt ) FROM DeptPayroll ) |
Weitere Hinweise zu Aggregatfunktionen finden Sie unter Fenster-Aggregatfunktionen.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |