La cláusula GROUP BY unida a un SELECT permite agrupar filas según las columnas que se indiquen como parámetros, y se suele utilizar en conjunto con las funciones de agrupación, para obtener datos resumidos y agrupados por las columnas que se necesiten.
Por ejemplo: Si quieres saber la cantidad total de gastos en sueldos por cada departamento, la consulta sería:
SELECT dept, SUM (salary)
FROM employee
GROUP BY dept;
Al ejecutar el script obtendremos los
mismos datos pero agrupándolos por departamento, de modo que para cada departamento sabemos cuántos en gastos se ha realizado.
dept salary
-------------- --------------
Electrical 25000
Electronics 55000
Aeronautics 35000
InfoTech 30000
Es
muy importante tener en cuenta que cuando utilizamos la cláusula GROUP BY, los
únicos campos que podemos incluir en el SELECT sin que estén dentro de una
función de agregación, son los que vayan especificados en el GROUP BY.
La
cláusula GROUP BY se puede utilizar con más de un campo al mismo tiempo. Si
indicamos más de un campo como parámetro nos devolverá la información agrupada
por los registros que tengan el mismo valor en los campos indicados.
Tener en cuenta que al
utilizar la cláusula GROUP BY no garantiza que los datos se devuelvan
ordenados. Se recomienda incluir una cláusula ORDER
BY por las mismas columnas que utilicemos en GROUP BY, especificando el
orden que no mas se adecue a nuestra necesidad.
SELECT dept_id dept, SUM(salary)
FROM employee
GROUP BY dept_id, dept
ORDER BY dept_id, dept asc
No hay comentarios:
Publicar un comentario