Puede usar consultas SQL básicas para recuperar datos de una base de datos, pero a menudo esto no proporciona suficiente inteligencia para cumplir con los requisitos del negocio. SQL también le proporciona la capacidad de agrupar los resultados de la consulta en función de los atributos de nivel de fila para aplicar funciones agregadas utilizando la cláusula GROUP BY. Considere, por ejemplo, una tabla de datos de orden que consta de los atributos a continuación:
- Solicitar ID - un valor numérico que identifica de forma única cada orden. Este campo es la clave principal para la base de datos.
- Vendedor - un valor de texto que proporciona el nombre del vendedor que vendió los productos. Este campo es una clave externa a otra tabla que contiene información personal.
- Identificación del cliente - un valor numérico correspondiente a un número de cuenta de cliente. Este campo también es una clave externa, que hace referencia a una tabla que contiene información de la cuenta del cliente.
- Ingresos - Un valor numérico correspondiente al monto en dólares de la venta.
Cuando llega el momento de realizar revisiones de desempeño para los vendedores, la tabla de Órdenes contiene información valiosa que puede usarse para esa revisión. Al evaluar a Jim, podría, por ejemplo, escribir una consulta simple que recupere todos los registros de ventas de Jim:
SELECCIONAR *
DE ÓRDENES
DONDE VENDE AL VENDEDOR DE 'Jim
Esto recuperaría todos los registros de la base de datos correspondiente a las ventas realizadas por Jim: Ingreso de OrderID Vendedor CustomerID Ingresos
12482 jim 182 40000
12488 jim 219 25000
12519 jim 137 85000
12602 jim 182 10000
12741 jim 155 90000
Puede revisar esta información y realizar algunos cálculos manuales para obtener estadísticas de rendimiento, pero esta sería una tarea tediosa que tendría que repetir para cada vendedor de la empresa. En su lugar, puede reemplazar este trabajo con una sola consulta de GROUP BY que calcula las estadísticas de cada vendedor de la empresa. Simplemente escriba la consulta y especifique que la base de datos debe agrupar los resultados según el campo Vendedor. Luego puede usar cualquiera de las funciones agregadas de SQL para realizar cálculos en los resultados. Aquí hay un ejemplo. Si ejecutaste la siguiente sentencia SQL: SELECCIONE un vendedor, SUM (Ingresos) COMO "Total", MIN (Ingresos) COMO "Más pequeños", MAX (Ingresos) COMO "Mayor", AVG (Ingresos) COMO "Promedio", COUNT (Ingresos) COMO "Número"
DE ÓRDENES
GRUPO POR VENDEDOR
Obtendrías los siguientes resultados: Vendedor Número total promedio más pequeño más pequeño
Jim 250000 10000 90000 50000 5
María 342000 24000 102000 57000 6
Bob 118000 4000 36000 39333 3
Como puede ver, esta poderosa función le permite generar pequeños informes desde una consulta SQL, proporcionando una valiosa inteligencia comercial al gerente que realiza las revisiones de rendimiento. La cláusula GROUP BY se usa a menudo en bases de datos para este propósito y es una herramienta valiosa en el paquete de trucos del DBA.