La cláusula GROUP BY se usa para generar valores de agregado para cada fila del conjunto de resultados. Cuando se usan sin una cláusula GROUP BY, las funciones de agregado sólo devuelven un valor de agregado para una instrucción SELECT.
En el ejemplo siguiente se calcula el total de cada pedido de ventas de la base de datos.
USE AdventureWorks; GO SELECT SalesOrderID, SUM(LineTotal) AS SubTotal FROM Sales.SalesOrderDetail sod GROUP BY SalesOrderID ORDER BY SalesOrderID ; GO
Después de las palabras clave GROUP BY aparece una lista de columnas, conocidas como las columnas de agrupación. La cláusula GROUP BY restringe las filas del conjunto de resultados; sólo hay una fila por cada valor distintivo de las columnas de agrupación. Cada fila del conjunto de resultados contiene los datos de resumen relacionados con el valor específico de sus columnas de agrupación.
Los elementos que se pueden especificar en la lista de selección cuando una instrucción SELECT contiene una cláusula GROUP BY están restringidos. Los elementos permitidos en la lista de selección son los siguientes:
- Las columnas de agrupación.
- Expresiones que devuelven un solo valor por cada valor de las columnas de agrupación, por ejemplo, las funciones de agregado que tienen un nombre de columna como uno de sus parámetros. Se conocen como agregados vectoriales.
No hay comentarios:
Publicar un comentario