single
Cláusula GROUP BY
Desliza para mostrar el menú
Bienvenido al curso de SQL Intermedio.
En la primera sección, se explora cómo agrupar y agregar datos dentro de tus tablas.
Esto es lo que significa 'agrupar datos' usando un ejemplo sencillo de una tabla de empleados:
Agrupación de datos
La tarea es averiguar el número de empleados en cada departamento. Para ello, se agruparán los datos por la columna department y se utilizará la agregación con la función COUNT(*).
Así es como se verá la implementación:
123SELECT department, COUNT(*) AS number_of_employees FROM employees GROUP BY department
Como puedes ver, la sintaxis para agrupar datos es la siguiente:
SELECT column1, AGG_FUNC(column2)
FROM table
GROUP BY column1
AGG_FUNC significa funciones de agregación como MAX, MIN, COUNT, etc.
Esta sintaxis existe para encontrar ciertos valores utilizando funciones de agregación en columnas específicas.
Aquí tienes otro ejemplo: se te ha asignado la tarea de encontrar el departamento con el salario promedio más alto.
Para obtener estos datos, es necesario agrupar la información por la columna department y luego usar la función AVG() para calcular el salario promedio:
123SELECT department, AVG(salary) as average_salary FROM employees GROUP BY department
En esta parte de la sección, trabajarás con la base de datos del sistema de metro de Montreal, que contiene la tabla metro_travel_time.
Esta tabla contiene información sobre la línea de estación (line_name), su nombre (station_name) y la cantidad de tiempo que tarda un tren en viajar de una estación a la siguiente (time_to_next_station).
A continuación se muestra cómo es esta tabla y una vista previa de los datos que contiene:
Como puedes ver, esta no es una tabla compleja. Piensa en dónde podemos utilizar agrupaciones aquí.
La opción más evidente es agrupar por los colores de las líneas del metro. Esto significa que podemos agregar los datos, agrupándolos por el color de la línea del metro.
Alias
En los ejercicios, a menudo se utiliza un concepto llamado alias. Un alias es básicamente un "apodo" para una columna que se recupera con una sentencia SELECT. Se especifica utilizando la siguiente sintaxis:
SELECT column AS alias
Un alias solo afecta cómo aparece la columna en la respuesta.
Por ejemplo, en lugar de MAX(time), la columna podría llamarse max_time si se asigna ese alias. Esto hace que la salida sea más legible y clara.
Desliza para comenzar a programar
Tu tarea es encontrar el mayor tiempo hasta la siguiente estación en cada línea. Esto ayudará a determinar el mayor tiempo de viaje entre estaciones para cada línea de metro. Para ello, utiliza la función MAX() y asígnale el alias max_time, agrupando los datos por la columna line_name.
Instrucciones breves
- Recupera la columna
line_namey el valor máximo de la columnatime_to_next_stationde la tablametro_travel_time. - Añade el alias
max_timepara el valor máximo. - Agrupa los datos por la columna
line_name.
Solución
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla