Cláusula Group By
¡Bienvenido al curso de SQL Intermedio!
En la primera sección, exploraremos cómo agrupar y agregar datos dentro de nuestras tablas.
Comprendamos qué significa "agrupar datos" utilizando un ejemplo sencillo de una tabla de empleados:
Agrupación de datos
Tenemos la tarea de determinar la cantidad de empleados en cada departamento. Para ello, agruparemos los datos por la columna department y utilizaremos 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 observar, 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.
Consideremos otro ejemplo: se nos 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 utilizar 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, trabajaremos con la base de datos del sistema Metro de Montreal, que contiene la tabla metro_travel_time.
Esta tabla contiene información sobre la línea de la 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 puede ver, esta no es una tabla compleja. Pensemos en dónde podemos utilizar la agrupación 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 instrucción 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.
Swipe to start coding
Tu tarea es encontrar el mayor tiempo hasta la siguiente estación en cada línea. Esto nos permitirá determinar el mayor tiempo de viaje entre estaciones para cada línea de metro. Para lograrlo, 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
Genial!
Completion tasa mejorada a 4
Cláusula Group By
Desliza para mostrar el menú
¡Bienvenido al curso de SQL Intermedio!
En la primera sección, exploraremos cómo agrupar y agregar datos dentro de nuestras tablas.
Comprendamos qué significa "agrupar datos" utilizando un ejemplo sencillo de una tabla de empleados:
Agrupación de datos
Tenemos la tarea de determinar la cantidad de empleados en cada departamento. Para ello, agruparemos los datos por la columna department y utilizaremos 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 observar, 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.
Consideremos otro ejemplo: se nos 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 utilizar 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, trabajaremos con la base de datos del sistema Metro de Montreal, que contiene la tabla metro_travel_time.
Esta tabla contiene información sobre la línea de la 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 puede ver, esta no es una tabla compleja. Pensemos en dónde podemos utilizar la agrupación 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 instrucción 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.
Swipe to start coding
Tu tarea es encontrar el mayor tiempo hasta la siguiente estación en cada línea. Esto nos permitirá determinar el mayor tiempo de viaje entre estaciones para cada línea de metro. Para lograrlo, 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