HAVING (Entity SQL)

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

[ 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.

Comentarios

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 sólo se puede utilizar con la instrucción SELECT (Entity SQL). Cuando no se utiliza GROUP BY (Entity SQL), 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 sólo puede hacer referencias a agrupar alias y agregados, 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 sólo 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 el procedimiento de Cómo ejecutar una consulta que devuelve resultados PrimitiveType (EntityClient).

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

SELECT VALUE name FROM AdventureWorksEntities.Product 
    as P GROUP BY P.Name HAVING MAX(P.ListPrice) > 5

La salida se muestra a continuación:

Value: LL Mountain Seat Assembly
Value: ML Mountain Seat Assembly
Value: HL Mountain Seat Assembly
Value: LL Road Seat Assembly
Value: ML Road Seat Assembly

Vea también

Conceptos

Referencia de Entity SQL
Expresiones de consulta (Entity SQL)