Sentencia GROUP BY en SQL
SELECT NombreColumna FROM Nombre_Tabla WHERE Condicion GROUP BY NombreColumna ORDER BY NombreColumna
Con GROUP BY SQL podemos hacer uso de operadores y funciones según lo requiera la consulta.
Ejemplo de uso de Group By en SQL
A continuación vamos a ver una tabla de ejemplo llamada compras.
De la siguiente tabla vamos a seleccionar el tipo de compra y el monto total y vamos agrupar los registros por el tipo de compra, veamosSELECT TipoCompra,NetoPagar FROM ScpCompras GROUP BY TipoCompra,NetoPagar
Ejecutemos la consulta para ver el resultado.
Si observamos la consulta nos muestra los registros agrupados por el tipo de compra que en este caso son de contado y de crédito y por los monto de esas compras.
Como mencionamos al inicio también podemos hacer uso de operadores y funciones veamos un ejemplo.
Utilicemos la misma consulta del primer ejemplo pero necesitamos mostrar las compras que sean de contado pero cuyo monto sea mayor o igual a 2000, veamos:
SELECT TipoCompra,NetoPagar FROM ScpCompra WHERE TipoCompra = 'Contado' AND NetoPagar >= 2000 GROUP BY TipoCompra,NetoPagar
Ejecutemos la consulta para ver el resultado obtenido.
La consulta agrupa el resultado solamente de las compras de contado y de los registros mayores a 2000.
SQL Group By también podemos utilizar en uniones de tablas relacionadas. El siguiente ejemplo selecciona el codigo de proveedor y el tipo de compra realizado, agrupamos los registros por el tipo de compra y las ordenaremos por el tipo de compra,veamos
SELECT SP.ProveedorID,SC.TipoCompra FROM ScpProveedor AS SP INNER JOIN ScpCompra AS SC ON SC.objProveedorID = SP.ProveedorID GROUP BY SC.TipoCompra,SP.ProveedorID ORDER BY SC.TipoCompra
A continuación vamos a realizar la ejecución de la consulta para mostrar el resultado:
Hemos hecho uso de la función INNER JOIN para mostrar los registros asociados en ambas tablas.
En esta sección hemos estudiado la cláusula GROUP BY muy importante para realizar filtración en tablas que contiene grandes volúmenes de registros.
0 Comentarios