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 usando elGROUP BYcomando. 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 le indica a SQL que quieres que el resultado tenga una fila por cada valor único de laorigincolumna. 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 aquí puedes encontrar información más detallada sobre SQL.

¿Qué información obtendría esta consulta? Recuerda queflightsla tabla 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

Fundamentos de PySpark

Ver curso

Ejercicio interactivo práctico

Pon en práctica la teoría con uno de nuestros ejercicios interactivos

Empezar ejercicio