Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Cláusula Group By | Agrupación
SQL Intermedio

bookCláusula Group By

Prerequisites
Prerrequisitos

¡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:

123
SELECT department, COUNT(*) AS number_of_employees FROM employees GROUP BY department
copy

Como puedes observar, la sintaxis para agrupar datos es la siguiente:

SELECT column1, AGG_FUNC(column2)
FROM table
GROUP BY column1
Note
Nota

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:

123
SELECT department, AVG(salary) as average_salary FROM employees GROUP BY department
copy

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.

Tarea

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_name y el valor máximo de la columna time_to_next_station de la tabla metro_travel_time.
  • Añade el alias max_time para el valor máximo.
  • Agrupa los datos por la columna line_name.

Solución

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 1
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

close

bookCláusula Group By

Desliza para mostrar el menú

Prerequisites
Prerrequisitos

¡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:

123
SELECT department, COUNT(*) AS number_of_employees FROM employees GROUP BY department
copy

Como puedes observar, la sintaxis para agrupar datos es la siguiente:

SELECT column1, AGG_FUNC(column2)
FROM table
GROUP BY column1
Note
Nota

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:

123
SELECT department, AVG(salary) as average_salary FROM employees GROUP BY department
copy

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.

Tarea

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_name y el valor máximo de la columna time_to_next_station de la tabla metro_travel_time.
  • Añade el alias max_time para el valor máximo.
  • Agrupa los datos por la columna line_name.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 1
single

single

some-alt