martes, 21 de abril de 2015

Funciones de agregado - Parte 2



8. Visualizar departamentos, oficios y número de personas, para aquellos departamentosque tengan dos o más personas trabajando en el mismo oficio.

SELECT DEPT_NO AS [Nº DE DEPARTAMENTO],COUNT(*) AS [Nº DE PERSONAS],
OFICIO FROM EMP GROUP BY DEPT_NO,OFICIO HAVING COUNT(*) > 1


9. Calcular el salario medio, Diferencia, Máximo y Mínimo de cada oficio. Indicando el oficio y el número de empleados de cada oficio.

SELECT OFICIO, COUNT(*) AS [Nº DE EMPLEADOS], MIN(SALARIO) AS [SALARIO MÍNIMO]
, MAX(SALARIO) AS [SALARIO MÁXIMO], MAX(SALARIO) - MIN(SALARIO) AS [DIFERENCIA]
, AVG(SALARIO) AS [MEDIA] FROM EMP GROUP BY OFICIO


10. Calcular el valor medio de las camas que existen para cada nombre de sala. Indicar el nombre de cada sala y el número de cada una de ellas.

SELECT SALA_COD AS [SALA], NOMBRE
, AVG(NUM_CAMA) AS [MEDIA DE CAMAS]
FROM SALA GROUP BY NOMBRE, SALA_COD


11. Calcular el salario medio de la plantilla de la sala 6, según la función que realizan. Indicar la función y el número de empleados.

SELECT COUNT(*) AS [Nº DE EMPLEADOS], FUNCION, AVG(SALARIO) AS [SALARIO MEDIO]
FROM PLANTILLA GROUP BY FUNCION, SALA_COD HAVING SALA_COD = 6


12. Averiguar los últimos empleados que se dieron de alta en la empresa en cada uno de los oficios, ordenados por la fecha.

SELECT MAX(FECHA_ALT) AS [FECHA], OFICIO FROM EMP
GROUP BY OFICIO
ORDER BY 1


13. Mostrar el número de hombres y el número de mujeres que hay entre los enfermos.

SELECT COUNT(*) AS [NÚMERO], S AS [SEXO] FROM ENFERMO GROUP BY S


14. Mostrar la suma total del salario que cobran los empleados de la plantilla para cada función y turno.

SELECT FUNCION, T AS [TURNO], SUM(SALARIO) AS [SUMA DE SALARIOS]
FROM PLANTILLA GROUP BY FUNCION, T


15. Calcular el número de salas que existen en cada hospital.

SELECT COUNT(*) AS [Nº SALAS], HOSPITAL_COD FROM SALA
GROUP BY HOSPITAL_COD


16. Mostrar el número de enfermeras que existan por cada sala.

SELECT COUNT(*) AS [Nº PERSONAS], SALA_COD, FUNCION FROM PLANTILLA
WHERE FUNCION='ENFERMERA'
GROUP BY SALA_COD, FUNCION
ORDER BY 1



Espero haber ayudado en algo. Hasta la próxima oportunidad!








No hay comentarios:

Publicar un comentario en la entrada