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 zu ermitteln, welche die größte ist. Das Vorhandensein beider Funktionen in der Abfrage weist darauf hin, dass ein allgemeiner Tabellenausdruck hilfreich sein könnte.
WITH DepartmentPayroll( DepartmentID, amount ) AS ( SELECT DepartmentID, SUM( Salary ) AS amount FROM Employees GROUP BY DepartmentID ) SELECT DepartmentID, amount FROM DepartmentPayroll WHERE amount = ( SELECT MAX( amount ) FROM DepartmentPayroll ) |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |