Podes usar consultas SQL básicas para recuperar datos dunha base de datos, pero moitas veces isto non fornece suficiente intelixencia para cumprir os requisitos comerciais. SQL tamén fornece a posibilidade de agrupar resultados de consulta baseados en atributos de nivel de liña para aplicar funcións agregadas usando a cláusula GROUP BY. Considere, por exemplo, unha táboa de datos de orde que consta dos atributos a continuación:
- OrderID - un valor numérico que identifica de forma exclusiva cada orde. Este campo é a chave primaria para a base de datos.
- Vendedor : un valor de texto que fornece o nome do vendedor que vendeu os produtos. Este campo é unha clave externa para outra táboa que contén información de persoal.
- ID de cliente : un valor numérico correspondente a un número de conta de cliente. Este campo tamén é unha chave estranxeira, que fai referencia a unha táboa que contén información sobre a conta de clientes.
- Ingresos : un valor numérico correspondente ao importe en dólar da venda.
Cando chega a hora de realizar comentarios de rendemento para os vendedores, a táboa de Ordes contén información valiosa que pode usarse para esa revisión. Ao avaliar Jim, podería, por exemplo, escribir unha consulta simple que recuperase todos os rexistros de vendas de Jim:
SELECCIONAR * FROM Orders WHERE Vendedor LIKE 'Jim'Isto recupere todos os rexistros da base de datos correspondentes ás vendas feitas por Jim:
Vendedor da Orde ID do Cliente 12482 Jim 182 40000 12488 Jim 219 25000 12519 Jim 137 85000 12602 Jim 182 10000 12741 Jim 155 90000 Podería revisar esta información e realizar algúns cálculos manuais para elaborar estatísticas de rendemento, pero esta sería unha tarefa tediosa que tería que repetir para cada vendedor da empresa. No seu canto, pode reemplazar este traballo cunha única consulta GROUP BY que calcula as estatísticas de cada vendedor da empresa. Simplemente escribe a consulta e especifica que a base de datos debe agrupar os resultados en función do campo Salesperson. Pode usar calquera das funcións agregadas de SQL para realizar cálculos nos resultados.
Aquí tes un exemplo. Se executou a seguinte instrución SQL:
Recibirías os seguintes resultados:
Número de vendedor total menor número medio máis pequeno Jim 250000 10000 90000 50000 5 Mary 342000 24000 102000 57000 6 Bob 118000 4000 36000 39333 3Como podes ver, esta poderosa función permítelle xerar pequenos informes desde unha consulta SQL, proporcionando valiosa intelixencia comercial ao xestor que realiza as revisións de rendemento. A cláusula GROUP BY adoita empregarse en bases de datos para este propósito e é unha valiosa ferramenta na bolsa de trucos de DBA.