Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
GROUP BY | Групування
Розширений Рівень SQL
course content

Зміст курсу

Розширений Рівень SQL

Розширений Рівень SQL

1. Групування
2. Вкладені Запити
3. Об'єднання Таблиць
4. DDL та DML в SQL

book
GROUP BY

Welcome to the Intermediate SQL course!

In the first section, we're diving into how we can group and aggregate data within our tables.

Let's understand what "grouping data" means using a simple example of an employees table:

We have a task to find out the number of employees in each department. To do this, we will group the data by the department column and use aggregation with the COUNT(*) function.

Here's what the implementation will look like:

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

So, as you can see, the syntax for grouping data looks like this:

Отже, як ви можете побачити, синтаксис для групування даних виглядає так:

Примітka

AGG_FUNC означає агрегатні функції на кшталт MAX, MIN, COUNT тощо.

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

In this section, we will work with the Montreal Metro system database, which contains the metro_travel_time table.

This table will contain information about the station line(line_name), its name(station_name), and the amount of time it takes for a train to travel from one station to the next one(time_to_next_station).

Here is what this table looks like and the data preview in it:

У цьому курсі ми будемо працювати з базою даних системи монреальського метро, яка містить таблицю metro_travel_time.

Ця таблиця міститиме інформацію про лінію станції(line_name), її назву(station_name), та кількість часу, який потрібен поїзду для подорожі від однієї станції до наступної(time_to_next_station).

Ось як виглядає ця таблиця та попередній перегляд даних у ній:

In the assignments, you’ll often use a concept called an alias. An alias is essentially a "nickname" for a column you retrieve with a SELECT statement. It’s specified using the following syntax:

An alias only affects how the column appears in the response.

For example, instead of MAX(time), the column could be called max_time if you assign that alias. This makes the output more readable and clear.

Завдання
test

Swipe to show code editor

Your task is to find the longest time until the next station on each line. This will allow us to determine the longest travel time between stations for each metro line. To do this, use the MAX() function and alias it as max_time, grouping the data by the line_name column.

Brief Instructions

  • Retrieve the line_name column and the maximum value of the time_to_next_station column.
  • Add the alias max_time for the maximum value.
  • Group the data by the line_name column.

Once you've completed this task, click the button below the code to check your solution.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 1
toggle bottom row

book
GROUP BY

Welcome to the Intermediate SQL course!

In the first section, we're diving into how we can group and aggregate data within our tables.

Let's understand what "grouping data" means using a simple example of an employees table:

We have a task to find out the number of employees in each department. To do this, we will group the data by the department column and use aggregation with the COUNT(*) function.

Here's what the implementation will look like:

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

So, as you can see, the syntax for grouping data looks like this:

Отже, як ви можете побачити, синтаксис для групування даних виглядає так:

Примітka

AGG_FUNC означає агрегатні функції на кшталт MAX, MIN, COUNT тощо.

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

In this section, we will work with the Montreal Metro system database, which contains the metro_travel_time table.

This table will contain information about the station line(line_name), its name(station_name), and the amount of time it takes for a train to travel from one station to the next one(time_to_next_station).

Here is what this table looks like and the data preview in it:

У цьому курсі ми будемо працювати з базою даних системи монреальського метро, яка містить таблицю metro_travel_time.

Ця таблиця міститиме інформацію про лінію станції(line_name), її назву(station_name), та кількість часу, який потрібен поїзду для подорожі від однієї станції до наступної(time_to_next_station).

Ось як виглядає ця таблиця та попередній перегляд даних у ній:

In the assignments, you’ll often use a concept called an alias. An alias is essentially a "nickname" for a column you retrieve with a SELECT statement. It’s specified using the following syntax:

An alias only affects how the column appears in the response.

For example, instead of MAX(time), the column could be called max_time if you assign that alias. This makes the output more readable and clear.

Завдання
test

Swipe to show code editor

Your task is to find the longest time until the next station on each line. This will allow us to determine the longest travel time between stations for each metro line. To do this, use the MAX() function and alias it as max_time, grouping the data by the line_name column.

Brief Instructions

  • Retrieve the line_name column and the maximum value of the time_to_next_station column.
  • Add the alias max_time for the maximum value.
  • Group the data by the line_name column.

Once you've completed this task, click the button below the code to check your solution.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 1
Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
We're sorry to hear that something went wrong. What happened?
some-alt