ComenzarEmpieza gratis

SQL en pocas palabras (2)

Otra tarea habitual de las bases de datos es la agregación. Es decir, reducir tus datos dividiéndolos en trozos y resumiendo cada trozo.

Esto se hace en SQL utilizando el comando GROUP BY. Este comando divide tus datos en grupos y aplica una función de tu instrucción SELECT a cada grupo.

Por ejemplo, si quisieras contar el número de vuelos desde cada uno de dos destinos de origen, podrías utilizar la consulta

SELECT COUNT(*) FROM flights
GROUP BY origin;

GROUP BY origin indica a SQL que quieres que la salida tenga una fila por cada valor único de la columna origin. La instrucción SELECT selecciona los valores que quieres que rellenen cada una de las columnas. Aquí queremos COUNT() todas las filas de cada uno de los grupos.

Es posible usar GROUP BY con más de una columna. Al hacerlo, la tabla resultante tiene una fila para cada combinación de los valores únicos de cada columna. La siguiente consulta cuenta el número de vuelos desde SEA y PDX a cada aeropuerto de destino:

SELECT origin, dest, COUNT(*) FROM flights
GROUP BY origin, dest;

El resultado tendrá una fila por cada combinación de los valores de origin y dest (es decir, una fila con cada origen y destino al que voló un vuelo). También habrá una columna con el COUNT() de todas las filas de cada grupo.

Recuerda que puedes profundizar en SQL aquí.

¿Qué información obtendría esta consulta? Recuerda que la tabla flights contiene información sobre los vuelos que salieron de PDX y SEA en 2014 y 2015. ¡Ten en cuenta que la función AVG() obtiene el valor medio de una columna!

SELECT AVG(air_time) / 60 FROM flights
GROUP BY origin, carrier;

Este ejercicio forma parte del curso

Introducción a PySpark

Ver curso

Ejercicio interactivo práctico

Convierte la teoría en acción con uno de nuestros ejercicios interactivos

Empieza a hacer ejercicio