Saltar la navegación

4.3.- Consultas avanzadas de agrupación.

La agrupación es uno de los tipos de consultas que más veces vas a utilizar trabajando con bases de datos. Supón que quieres saber cuáles son los ingresos medios de los habitantes en cada una de las ciudades. Si tuvieras que hacerlos a mano, sin duda, sería una labor de chinos. Tendrías que hacer un listado ordenado por ciudades, y por cada ciudad, sumar todos los ingresos de sus habitantes y dividirlo por el número de ellos.
Gracias a las bases de datos puedes realizar la tarea de una forma sencilla y rápida. La aplicación Base además, te permite realizar este proceso a través de un asistente.

Vamos a crear una consulta de agrupación para calcular los ingresos medios de los habitantes en cada una de las ciudades

  • Selección de campos: selecciona la tabla o consulta sobre la que vas a consultar, escogiendo los campos a usar. Usa, de la tabla Habitantes, los campos Ciudad e Ingresos. Una vez seleccionado pulsaremos el botón Siguiente.
Imagen que muestra la selección de la tabla y de los campos Ciudad e ingresos.
Agustín Nieto Espino (Elaboración propia)
  • Orden de clasificación: es opcional, pero escoge ordenar por el nombre de la ciudad.
Imagen que muestra la selección del campo Ciudad para ordenar los resultados de la consulta.
Agustín Nieto Espino (Elaboración propia)
  • Condiciones de búsqueda: para esta consulta en concreto no realices ningún filtro adicional, solo debes de pulsar el botón Siguiente.
  • Detalle o resumen: ésta es la ventana fundamental para realizar una consulta de selección. Escoge la opción "Consulta abreviada", y como configuración (en funciones agregadas) "obtener el promedio de" (campos) "Habitantes.Ingresos".
Imagen que muestra la definición de la función promedio de los ingresos.
Agustín Nieto Espino (Elaboración propia)
  • Alias: modifica el alias de Ingresos, y cámbialo a IngresosMedios. Es simplemente por estética, el resultado de las filas no variará, pero en el encabezado figurará IngresosMedios (de no hacerlo figuraría sólo Ingresos y daría pie a confusión).
Imagen que muestra cómo asignar el alias ingresosMedios.
Agustín Nieto Espino (Elaboración propia)
  • Información General: permite cambiar el nombre a la consulta (llámala "Consulta_IngresosMedios"), y escoge "Modificar Consulta".

Imagen que muestra la asignación del nombre a la consulta.


El proceso de asistente ha acabado, pero si ejecutas la consulta verás que el resultado no es el esperado. Figura una única columna con los ingresos medios de las ciudades, pero no figura el nombre de la ciudad en ninguna de las filas-

HabitantesConsultaDeActualizacionDetalleTrasAsistente
Agustín Nieto Espino (Elaboración propia)

Para arreglarlo, desplaza en el editor la columna de ciudades al lado izquierdo, y activa el seleccionable "Visible".

Imagen que muestra el intercambio de lugar de las columnas y la activación del campo visible para la columna ciudad.
Agustín Nieto Espino (Elaboración propia)

A continuación, procedemos a ejecutar la consulta pulsando la tecla F5 o bien pulsando el icono:

Imagen que muestra el icono que se muestra en la barra de iconos para ejecutar la consulta.
Agustín Nieto Espino (Elaboración propia)

Al ejecutarla, podemos ver que se muestran por cada ciudad los ingresos medios que poseen sus habitantes. Se puede seleccionar la columna IngresosMedios, acceder al menú contextual y seleccionar la opción Formato de columnas. A través de esta ventana, podemos hacer que los datos de la columna IngresosMedios aparezcan con dos decimales acompañados del símbolo del euro.

Imagen que muestra la ventana para mostrar la opción de aplicar Forrato a la columna seleccionada.
Agustín Nieto Espino (Elaboración propia)



En la imagen puedes ver el resultado de la consulta:

Imagen que muestra el resultado de la consulta.
Agustín Nieto Espino (Elaboración propia)


Si guardas la consulta, y la abres en modo Editar en vista SQL, observarás la siguiente instrucción:

SELECT "Ciudad", AVG( "Ingresos" ) AS "IngresosMedios" FROM "Habitantes" GROUP BY "Ciudad" ORDER BY "Ciudad" ASC

El AVG("Ingresos") es consecuencia de haber solicitado el promedio de Ingresos (AVG es acrónimo de AVERAGE, que significa promedio). Para utilizar esa función, es necesario usar también GROUP BY "Ciudad", que le indica a la base de datos que agrupe los datos en torno al campo "Ciudad", para luego poder obtener el promedio.
Claramente, el entorno gráfico del editor te facilita la labor sin necesidad de entender complejas instrucciones.

Autoevaluación

Pregunta

Si quisieras modificar la consulta para que obtuviera el total de ingresos por sexos (no por ciudades)… :

Respuestas

Deberías cambiar el campo Ciudad por Sexo, y cambiar la función Promedio a Suma. En este caso, obtendrás que los hombres en total ganan más que las mujeres.

Deberías cambiar el campo Ciudad por Sexo, y cambiar la función Promedio a Suma. En este caso, obtendrás que los hombres ganan menos que las mujeres.

No existe ninguna forma de calcularlo más que manualmente.

Retroalimentación