Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Ordem das Declarações | Agrupamento
SQL Intermediário

book
Ordem das Declarações

Para análise estatística, recebemos a tarefa de contar o número de estações em cada linha e organizá-las em ordem crescente do número de estações para cada linha do metrô.

Para fazer isso, precisamos encontrar o número de estações em cada linha do metrô e então classificá-las do menor número de estações para o maior.

Dessa forma, a construtora entenderá quais linhas do metrô eles precisam priorizar para adicionar estações.

É importante para nós entendermos a ordem de escrita das cláusulas, especificamente onde a cláusula GROUP BY deve ser colocada.

Então, a ordem é a seguinte:

  1. instrução SELECT;
  2. FROM table;
  3. cláusula WHERE;
  4. cláusula GROUP BY;
  5. cláusula ORDER BY;
  6. cláusula LIMIT.

A partir dessa ordem, é claro que a instrução GROUP BY deve ser escrita APÓS a instrução WHERE (ou após a tabela FROM se não houver filtragem na sua consulta usando SELECT) e também ANTES da instrução ORDER BY.

SELECT department, COUNT(employee_id) AS number_of_employees
FROM employees
WHERE salary > 70000
GROUP BY department
ORDER BY number_of_employees
12345
SELECT department, COUNT(employee_id) AS number_of_employees FROM employees WHERE salary > 70000 GROUP BY department ORDER BY number_of_employees
copy
Tarefa
test

Swipe to show code editor

Using the metro_travel_time table, find the number of stations (create a new column, named number_of_stations using station_name and COUNT() function) for each of the lines (line_name). Next, sort the result from smallest to largest.

Note

COUNT(column) is the function that counts the number of rows.

Brief Instructions

  • Retrieve line_name and the count of rows in the station_name column.
  • Add the alias number_of_stations to the second column.
  • Group the data by line_name.
  • Sort the result by number_of_stations.

Solução

SELECT line_name, COUNT(station_name) AS number_of_stations
FROM metro_travel_time
GROUP BY line_name
ORDER BY number_of_stations
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 2

toggle bottom row
Query ResultQuery Result
No query executed yet...
some-alt