Sie können eine WHERE-Klausel in einer Anweisung mit GROUP BY verwenden. Die WHERE-Klausel wird vor der GROUP BY-Klausel berücksichtigt. Zeilen, die die Bedingungen in der WHERE-Klausel nicht erfüllen, werden eliminiert, bevor eine Gruppierung erfolgt. Ein Beispiel:
SELECT Name, AVG( UnitPrice ) FROM Products WHERE ID > 400 GROUP BY Name; |
Nur die Zeilen mit ID-Werten von mehr als 400 werden in die Gruppen einbezogen, die zur Erstellung der Abfrageergebnisse benutzt werden.
Folgende Abfrage zeigt den Einsatz der Klauseln WHERE, GROUP BY und HAVING in einer Abfrage:
SELECT Name, SUM( Quantity ) FROM Products WHERE Name LIKE '%shirt%' GROUP BY Name HAVING SUM( Quantity ) > 100; |
Name | SUM(Products.Quantity) |
---|---|
Tee Shirt |
157 |
In diesem Beispiel gilt:
Die WHERE-Klausel enthält nur Zeilen, die einen Namen mit dem Wortbestandteil shirt enthalten (Tee Shirt, Sweatshirt).
Die GROUP BY-Klausel sammelt die Zeilen mit einem gemeinsamen Namen.
Die Aggregatfunktion SUM berechnet die Gesamtmenge der für jede Gruppe verfügbaren Artikel.
Die HAVING-Klausel schließt aus den Endergebnissen die Gruppe aus, deren Lagersummen 100 nicht überschreiten.
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 |