Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Abfragen und Datenänderung » Allgemeine Tabellenausdrücke » Typische Anwendungen von allgemeinen Tabellenausdrücken

 

Mehrere Aggregatfunktionen

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 )
 Siehe auch