Compartir a través de


Especificar condiciones para grupos (Visual Database Tools)

se aplica a:sql Server

Puede limitar los grupos que aparecen en una consulta especificando una condición que se aplica a los grupos en su conjunto: una HAVING cláusula . Una vez agrupados y agregados los datos, se aplican las condiciones de la HAVING cláusula . Solo los grupos que cumplen las condiciones aparecen en la consulta.

Por ejemplo, es posible que quiera ver el precio medio de todos los libros de cada publicador en una tabla de titles, pero solo si el precio medio supera los 10,00 USD. En ese caso, podría especificar una HAVING cláusula con una condición como AVG(price) > 10.

Nota

En algunos casos, es posible que desee excluir filas individuales de grupos antes de aplicar una condición a grupos en su conjunto. Para obtener más información, consulte Uso de cláusulas HAVING y WHERE en la misma consulta (Visual Database Tools).

Puede crear condiciones complejas para una HAVING cláusula mediante AND y OR para vincular condiciones. Para obtener más información sobre el uso AND y OR en las condiciones de búsqueda, vea Especificar varias condiciones de búsqueda para una columna (Visual Database Tools).

Especificar una condición para un grupo

  1. Especifique los grupos de la consulta. Para obtener más información, consulte Agrupar filas en resultados de consulta (Visual Database Tools).

  2. Si aún no está en el panel Criterios (Visual Database Tools), agregue la columna en la que desea basar la condición. (A menudo, la condición implica una columna que ya es un grupo o una columna de resumen). No se puede usar una columna que no forme parte de una función de agregado ni de la GROUP BY cláusula .

  3. En la columna Filtro, especifique la condición que se va a aplicar al grupo.

    Las herramientas del Diseñador de consultas y vistas (Visual Database Tools) crean automáticamente una HAVING cláusula en la instrucción del panel SQL (Visual Database Tools), como en el ejemplo siguiente:

    SELECT pub_id,
           AVG(price)
    FROM titles
    GROUP BY pub_id
    HAVING (AVG(price) > 10);
    
  4. Repita los pasos 2 y 3 para cada condición adicional que quiera especificar.