SELECT – HAVING (Transact-SQL)

  • 21.01.2020
  • 2 Minuten zum Lesen
    • V
    • c
    • M
    • m
    • M
    • +4

Gilt für: SQL Server (alle unterstützten Versionen) Azure SQL Datenbank Azure SQL Managed Instance Azure Synapse Analytics Paralleles Data Warehouse

Sie spezifizieren eine Suchbedingung für eine Gruppe oder ein Aggregat. HAVING kann nur mit der SELECT-Anweisung verwendet werden. HAVING wird normalerweise mit einer GROUP BY-Klausel verwendet. Wenn GROUP BY nicht verwendet wird, gibt es eine implizite einzelne, aggregierte Gruppe.

Transact-SQL-Syntaxkonventionen

Syntax

 

Hinweis

Die Transact-SQL-Syntax für SQL Server 2014 und früher finden Sie in der Dokumentation zu früheren Versionen.

Argumente

<search_condition>Sie gibt ein oder mehrere Prädikate an, die Gruppen und/oder Aggregate erfüllen müssen. Weitere Informationen zu Suchbedingungen und Prädikaten finden Sie unter Suchbedingung (Transact-SQL).

Die Datentypen text, image und ntext können nicht in einer HAVING-Klausel verwendet werden.

Beispiele

Das folgende Beispiel, das eine einfache HAVING-Klausel verwendet, ruft die Summe für jedes SalesOrderID aus der Tabelle SalesOrderDetail ab, die $100000.00 überschreitet.

USE AdventureWorks2012 ; GO SELECT SalesOrderID, SUM(LineTotal) AS SubTotal FROM Sales.SalesOrderDetail GROUP BY SalesOrderID HAVING SUM(LineTotal) > 100000.00 ORDER BY SalesOrderID ; 

Beispiele: Azure Synapse Analytics und Parallel Data Warehouse

Das folgende Beispiel verwendet eine HAVING-Klausel, um die Summe abzurufen SalesAmount, die 80000 übersteigt, für jedes OrderDateKey aus der Tabelle FactInternetSales.

-- Uses AdventureWorks SELECT OrderDateKey, SUM(SalesAmount) AS TotalSales FROM FactInternetSales GROUP BY OrderDateKey HAVING SUM(SalesAmount) > 80000 ORDER BY OrderDateKey; 

See Also

GROUP BY (Transact-SQL)
WHERE (Transact-SQL)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.