Compartir a través de


HAVING (Entity SQL)

Especifica una condición de búsqueda para un grupo o agregado.

Sintaxis

[ HAVING search_condition ]  

Argumentos

search_condition
Especifica la condición de búsqueda del grupo o del agregado que se debe cumplir. Cuando se utiliza HAVING con GROUP BY ALL, la cláusula HAVING invalida ALL.

Observaciones

La cláusula HAVING se utiliza para especificar una condición de filtrado adicional en el resultado de una agrupación. Si no se especifica una cláusula GROUP BY en la expresión de consulta, se supone un grupo de conjunto único implícito.

Nota:

HAVING solo se puede utilizar con la instrucción SELECT. Cuando no se usa GROUP BY, HAVING se comporta como una cláusula WHERE.

La cláusula HAVING funciona como la cláusula WHERE salvo que se aplica después de la operación GROUP BY. Esto significa que la cláusula HAVING solo puede hacer referencias a agrupar alias y agregados, tal como se muestra en el ejemplo siguiente:

SELECT Name, SUM(o.Price * o.Quantity) AS Total FROM orderLines AS o GROUP BY o.Product AS Name  
HAVING SUM(o.Quantity) > 1  

Todo lo anterior hace que se restrinjan los grupos a solo aquellos que incluyen más de un producto.

Ejemplo

La consulta de Entity SQL siguiente utiliza los operadores HAVING y GROUP BY para especificar una condición de búsqueda para un grupo o un agregado. La consulta se basa en el modelo AdventureWorks Sales. Para compilar y ejecutar esta consulta, siga estos pasos:

  1. Siga los pasos que se indican en Procedimientos para ejecutar una consulta que devuelve resultados PrimitiveType.

  2. Pase la consulta siguiente como argumento al método ExecutePrimitiveTypeQuery :

SELECT VALUE name FROM AdventureWorksEntities.Products 
    AS P GROUP BY P.Name HAVING MAX(P.ListPrice) > @price

Consulte también