GROUP BY en SQL

 Sentencia GROUP BY en SQL

La sentencia SQL GROUP BY se utiliza para agrupar filas de registros que coincidan con el valor de alguna columna seleccionada.


Sintaxis de 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, veamos

SELECT 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.


Publicar un comentario

0 Comentarios