Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Cláusula Group By | Agrupamento
Practice
Projects
Quizzes & Challenges
Questionários
Challenges
/
SQL Intermediário

bookCláusula Group By

Bem-vindo ao curso de SQL Intermediário!

Na primeira seção, será abordado como agrupar e agregar dados em tabelas.

A seguir, uma explicação sobre o que significa "agrupar dados" utilizando um exemplo simples de uma tabela de funcionários:

Agrupamento de Dados

Existe uma tarefa para descobrir o número de funcionários em cada departamento. Para isso, os dados serão agrupados pela coluna department e será utilizada a agregação com a função COUNT(*).

A implementação será a seguinte:

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

Como pode ver, a sintaxe para agrupar dados é a seguinte:

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

Nota

AGG_FUNC significa funções agregadas como MAX, MIN, COUNT, etc.

Esta sintaxe existe para encontrar determinados valores utilizando funções agregadas em colunas específicas.

Vamos considerar outro exemplo: recebemos a tarefa de encontrar o departamento com o maior salário médio.

Para recuperar esses dados, é necessário agrupar os dados pela coluna department e, em seguida, utilizar a função AVG() para calcular o salário médio:

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

Nesta parte da seção, trabalharemos com o banco de dados do sistema de metrô de Montreal, que contém a tabela metro_travel_time.

Esta tabela conterá informações sobre a linha da estação (line_name), seu nome (station_name) e o tempo necessário para um trem viajar de uma estação para a próxima (time_to_next_station).

Veja como é essa tabela e a visualização dos dados nela:

Como pode ser observado, esta não é uma tabela complexa. Considere onde é possível utilizar agrupamento aqui.

A opção mais evidente é agrupar pelas cores das linhas do metrô. Isso significa que é possível agregar os dados, agrupando-os pela cor da linha do metrô.

Alias

Nas tarefas, frequentemente será utilizado o conceito de alias. Um alias é basicamente um "apelido" para uma coluna recuperada com uma instrução SELECT. Ele é especificado utilizando a seguinte sintaxe:

SELECT column AS alias

Um alias afeta apenas como a coluna aparece na resposta.

Por exemplo, em vez de MAX(time), a coluna pode ser chamada de max_time se esse alias for atribuído. Isso torna a saída mais legível e clara.

Tarefa

Swipe to start coding

Sua tarefa é encontrar o maior tempo até a próxima estação em cada linha. Isso permitirá determinar o maior tempo de viagem entre estações para cada linha do metrô. Para isso, utilize a função MAX() e atribua o alias max_time, agrupando os dados pela coluna line_name.

Instruções Resumidas

  • Recupere a coluna line_name e o valor máximo da coluna time_to_next_station.
  • Adicione o alias max_time para o valor máximo.
  • Agrupe os dados pela coluna line_name.

Após concluir esta tarefa, clique no botão abaixo do código para verificar sua solução.

Solução

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 1
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

close

bookCláusula Group By

Deslize para mostrar o menu

Bem-vindo ao curso de SQL Intermediário!

Na primeira seção, será abordado como agrupar e agregar dados em tabelas.

A seguir, uma explicação sobre o que significa "agrupar dados" utilizando um exemplo simples de uma tabela de funcionários:

Agrupamento de Dados

Existe uma tarefa para descobrir o número de funcionários em cada departamento. Para isso, os dados serão agrupados pela coluna department e será utilizada a agregação com a função COUNT(*).

A implementação será a seguinte:

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

Como pode ver, a sintaxe para agrupar dados é a seguinte:

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

Nota

AGG_FUNC significa funções agregadas como MAX, MIN, COUNT, etc.

Esta sintaxe existe para encontrar determinados valores utilizando funções agregadas em colunas específicas.

Vamos considerar outro exemplo: recebemos a tarefa de encontrar o departamento com o maior salário médio.

Para recuperar esses dados, é necessário agrupar os dados pela coluna department e, em seguida, utilizar a função AVG() para calcular o salário médio:

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

Nesta parte da seção, trabalharemos com o banco de dados do sistema de metrô de Montreal, que contém a tabela metro_travel_time.

Esta tabela conterá informações sobre a linha da estação (line_name), seu nome (station_name) e o tempo necessário para um trem viajar de uma estação para a próxima (time_to_next_station).

Veja como é essa tabela e a visualização dos dados nela:

Como pode ser observado, esta não é uma tabela complexa. Considere onde é possível utilizar agrupamento aqui.

A opção mais evidente é agrupar pelas cores das linhas do metrô. Isso significa que é possível agregar os dados, agrupando-os pela cor da linha do metrô.

Alias

Nas tarefas, frequentemente será utilizado o conceito de alias. Um alias é basicamente um "apelido" para uma coluna recuperada com uma instrução SELECT. Ele é especificado utilizando a seguinte sintaxe:

SELECT column AS alias

Um alias afeta apenas como a coluna aparece na resposta.

Por exemplo, em vez de MAX(time), a coluna pode ser chamada de max_time se esse alias for atribuído. Isso torna a saída mais legível e clara.

Tarefa

Swipe to start coding

Sua tarefa é encontrar o maior tempo até a próxima estação em cada linha. Isso permitirá determinar o maior tempo de viagem entre estações para cada linha do metrô. Para isso, utilize a função MAX() e atribua o alias max_time, agrupando os dados pela coluna line_name.

Instruções Resumidas

  • Recupere a coluna line_name e o valor máximo da coluna time_to_next_station.
  • Adicione o alias max_time para o valor máximo.
  • Agrupe os dados pela coluna line_name.

Após concluir esta tarefa, clique no botão abaixo do código para verificar sua solução.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 1
single

single

some-alt