Clá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, será apresentado o conceito de "agrupamento de dados" utilizando um exemplo simples de uma tabela de funcionários:
Agrupamento de Dados
O objetivo é 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á apresentada a seguir:
123SELECT department, COUNT(*) AS number_of_employees FROM employees GROUP BY department
Assim, como pode ser observado, a sintaxe para agrupar dados é a seguinte:
SELECT column1, AGG_FUNC(column2)
FROM table
GROUP BY column1
AGG_FUNC significa funções agregadas como MAX, MIN, COUNT, etc.
Esta sintaxe existe para localizar determinados valores utilizando funções agregadas em colunas específicas.
Considere outro exemplo: foi solicitado que encontremos o departamento com o maior salário médio.
Para obter 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:
123SELECT department, AVG(salary) as average_salary FROM employees GROUP BY department
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 contém 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 uma prévia dos dados nela:
Como pode ver, esta não é uma tabela complexa. Vamos pensar onde podemos utilizar agrupamento aqui.
A opção mais óbvia é agrupar pelas cores das linhas do metrô. Isso significa que podemos agregar os dados, agrupando-os pela cor da linha do metrô.
Alias
Nas atividades, você frequentemente utilizará um conceito chamado alias. Um alias é basicamente um "apelido" para uma coluna que você recupera 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 você atribuir esse alias. Isso torna a saída mais legível e clara.
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 de 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_namee o valor máximo da colunatime_to_next_stationda tabelametro_travel_time. - Adicione o alias
max_timepara o valor máximo. - Agrupe os dados pela coluna
line_name.
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Can you explain more about how GROUP BY works in SQL?
What are some common aggregate functions I can use with GROUP BY?
How do I use aliases in more complex SQL queries?
Incrível!
Completion taxa melhorada para 4
Clá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, será apresentado o conceito de "agrupamento de dados" utilizando um exemplo simples de uma tabela de funcionários:
Agrupamento de Dados
O objetivo é 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á apresentada a seguir:
123SELECT department, COUNT(*) AS number_of_employees FROM employees GROUP BY department
Assim, como pode ser observado, a sintaxe para agrupar dados é a seguinte:
SELECT column1, AGG_FUNC(column2)
FROM table
GROUP BY column1
AGG_FUNC significa funções agregadas como MAX, MIN, COUNT, etc.
Esta sintaxe existe para localizar determinados valores utilizando funções agregadas em colunas específicas.
Considere outro exemplo: foi solicitado que encontremos o departamento com o maior salário médio.
Para obter 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:
123SELECT department, AVG(salary) as average_salary FROM employees GROUP BY department
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 contém 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 uma prévia dos dados nela:
Como pode ver, esta não é uma tabela complexa. Vamos pensar onde podemos utilizar agrupamento aqui.
A opção mais óbvia é agrupar pelas cores das linhas do metrô. Isso significa que podemos agregar os dados, agrupando-os pela cor da linha do metrô.
Alias
Nas atividades, você frequentemente utilizará um conceito chamado alias. Um alias é basicamente um "apelido" para uma coluna que você recupera 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 você atribuir esse alias. Isso torna a saída mais legível e clara.
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 de 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_namee o valor máximo da colunatime_to_next_stationda tabelametro_travel_time. - Adicione o alias
max_timepara o valor máximo. - Agrupe os dados pela coluna
line_name.
Solução
Obrigado pelo seu feedback!
single