Las funciones para grupos permiten seleccionar información a partir de grupos de líneas o registros. Por ejemplo, pueden agruparse todos los empleados que pertenezcan al mismo departamento y entonces calcular el salario máximo en cada grupo de departamentos:
SELECT DEPTNO,MAX(SAL)
FROM EMP GROUP BY DEPTNO;
Headers(); PrintAll;
En una búsqueda de grupos, cada línea en el resultado de la búsqueda, corresponde a un grupo de líneas de nuestra tabla, la columna que se pone a continuación de group by es aquella por la que queremos agrupar las líneas de la tabla. En el ejemplo anterior cada línea de la tabla EMP se incluye en uno de los tres grupos, uno para cada departamento, dependiendo de su valor en el campo DEPTO: todas las líneas de su mismo grupo tienen el mismo número de departamento.
Podemos combinar las funciones de grupo con las búsquedas relacionales. Además, hay tres funciones que pueden utilizarse con los grupos:
* SUM : Para sumar los valores de los campos, dentro de los grupos definidos por GROUP BY.
* COUNT: Para contar el número de líneas que entran en cada uno de esos grupos.
* AVG: Para saber la medida de los valores de campos específicos en cada grupo.
El siguiente ejemplo tiene como objetivo saber cuantos empleados están trabajando en cada categoría en cada departamento, cuantos secretarios hay en el departamento de ventas y, en esos grupos, cuál es la suma y media de los salarios:
SELECT DNAME,JOB,SUM(SAL),
COUNT(*),
AVG(SAL)
FROM EMP,DEPT
WHERE EMP.DEPTNO=DEPT.DEPTNO
GROUP BY DNAME,JOB;
Headers(); PrintAll;
Condiciones de búsqueda de un grupo de líneas: HAVING
Así como el operador WHERE se especifican las condiciones para las búsquedas con líneas individuales, con HAVING pueden especificarse las condiciones de búsqueda para grupos de líneas.
Usuarios que han visto este tema también han visto...
- Subconsultas SQL
- Recuperar una base de datos
- Consultas de unión externas con SQL
- Tablas temporales en SQL server
- Tipos de datos en SQL
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.