Compartir a través de


Cómo: Agrupar filas en los resultados de la consulta

Si desea crear subtotales o mostrar otra información de resumen para los subconjuntos de una tabla, debe crear grupos mediante una consulta de funciones agregadas. En cada grupo se resumen los datos de todas las filas de la tabla que tienen el mismo valor.

Por ejemplo, es posible que desee ver el precio medio de un libro en la tabla titles, pero con los resultados desglosados por editorial. Para ello, agrupe la consulta por editorial (por ejemplo, pub_id). El resultado de la consulta podría ser similar al siguiente:

Captura de pantalla de QueryGroupingRowsResultsPane

Cuando se agrupan datos, sólo se pueden mostrar valores resumidos o agrupados, como:

  • Los valores de las columnas agrupadas (aquellos que aparecen en la cláusula GROUP BY). En el ejemplo anterior, pub_id es la columna agrupada.

  • Valores generados por funciones de agregado como SUM( ) y AVG( ). En el ejemplo anterior, la segunda columna se genera utilizando la función AVG( ) con la columna price.

No se pueden mostrar valores de filas individuales. Por ejemplo, si agrupa únicamente por editorial, no podrá mostrar tampoco los títulos individuales en la consulta. Por tanto, si se agregan columnas al resultado de la consulta, el Diseñador de consultas y vistas las agrega automáticamente a la cláusula GROUP BY de la instrucción en el panel SQL. Si, lo que desea es agregar una columna, puede especificar una función de agregado para ella.

Si utiliza varias columnas para la agrupación, en cada grupo de la consulta se muestran los valores de agregado de todas las columnas de agrupación.

Por ejemplo, la siguiente consulta de la tabla titles agrupa por editorial (pub_id) y por tipo de libro (type). Los resultados de la consulta se ordenan por editorial e incluyen información de resumen para cada tipo de libro diferente producido por la editorial:

SELECT pub_id, type, SUM(price) Total_price
FROM titles
GROUP BY pub_id, type

El resultado de la consulta podría ser similar al siguiente:

Captura de pantalla de QueryGroupingRowsSampleOutput

Nota

Es posible que su equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio en las siguientes instrucciones. La edición de Visual Studio que se tenga y la configuración que se utilice determinan estos elementos. Para obtener más información, vea Valores de configuración de Visual Studio.

Para agrupar filas

  1. Inicie la consulta agregando las tablas que desea resumir al panel Diagrama.

  2. Haga clic con el botón secundario del mouse en el fondo del panel Diagrama y, a continuación, elija Agregar grupo por en el menú contextual. El Diseñador de consultas y vistas agregará una columna Agrupar por a la cuadrícula en el panel Criterios.

  3. Agregue la columna o columnas que desea agrupar al panel Criterios. Si desea que la columna aparezca en los resultados de la consulta, asegúrese de que la columna Resultado está seleccionada para el resultado.

    El Diseñador de consultas y vistas agrega una cláusula GROUP BY a la instrucción en el panel SQL. Por ejemplo, la instrucción SQL podría ser como la siguiente:

    SELECT pub_id
    FROM titles
    GROUP BY pub_id
    
  4. Agregue la columna o columnas que desea agregar al panel Criterios. Asegúrese de que la columna está marcada para el resultado.

  5. En la celda de cuadrícula Agrupar por de la columna que se va a agregar, seleccione la función de agregado correspondiente.

    El Diseñador de consultas y vistas asigna automáticamente un alias a la columna que va a resumir. Puede sustituir este alias generado automáticamente por uno más significativo. Para obtener más detalles, consulte Cómo: Crear alias de columna.

    Captura de pantalla de QueryGroupingRows

    La instrucción correspondiente en el panel SQL podría ser como la siguiente:

    SELECT   pub_id, SUM(price) AS Totalprice
    FROM     titles
    GROUP BY pub_id
    

Vea también

Otros recursos

Ordenar y agrupar los resultados de la consulta