Compartir a través de


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.

Notas

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.

Bb399595.note(es-es,VS.100).gifNota:
HAVING solo 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 solo 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 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 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.Products 
    as P GROUP BY P.Name HAVING MAX(P.ListPrice) > @price

Vea también

Conceptos

Referencia de Entity SQL
Expresiones de consulta (Entity SQL)