Tutorial MySQL

MySQL HOME Introdução ao MySQL MySQL RDBMS

MySQL SQL

MySQL SQL MySQL SELECIONAR MySQL ONDE MySQL E, OU, NÃO MySQL ORDER BY MySQL INSERT INTO Valores NULL do MySQL ATUALIZAÇÃO DO MySQL MySQL EXCLUIR MySQL LIMIT MySQL MIN e MAX MySQL COUNT, AVG, SUM MySQL LIKE Caracteres curinga do MySQL MySQL IN MySQL ENTRE Aliases do MySQL Junções do MySQL MySQL INNER JOIN MySQL LEFT JOIN MySQL RIGHT JOIN MySQL CROSS JOIN Auto-ingresso do MySQL MySQL UNION MySQL GROUP BY MySQL TENDO O MySQL EXISTE MySQL QUALQUER, TODOS MySQL INSERT SELECT CASO MySQL Funções Nulas do MySQL Comentários do MySQL Operadores MySQL

Banco de dados MySQL

MySQL Criar banco de dados MySQL Drop DB MySQL Criar Tabela Tabela de descarte do MySQL Tabela de alteração do MySQL Restrições do MySQL MySQL não nulo MySQL exclusivo Chave primária do MySQL Chave estrangeira do MySQL Verificação do MySQL Padrão do MySQL MySQL Criar Índice Incremento automático do MySQL Datas do MySQL Visualizações do MySQL

Referências do MySQL

Tipos de dados MySQL Funções do MySQL

Exemplos MySQL

Exemplos MySQL Teste do MySQL Exercícios do MySQL

Instrução MySQL GROUP BY


A instrução GROUP BY do MySQL

A GROUP BYinstrução agrupa as linhas que têm os mesmos valores em linhas de resumo, como "encontre o número de clientes em cada país".

A GROUP BYinstrução é frequentemente usada com funções agregadas ( COUNT(), MAX(), MIN(), SUM(), AVG()) para agrupar o conjunto de resultados por uma ou mais colunas.

Agrupar por Sintaxe

SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
ORDER BY column_name(s);

Banco de dados de demonstração

Abaixo está uma seleção da tabela "Clientes" no banco de dados de exemplo Northwind:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4

Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden


Exemplos MySQL GROUP BY

A seguinte instrução SQL lista o número de clientes em cada país:

Exemplo

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;

A instrução SQL a seguir lista o número de clientes em cada país, classificados de alto a baixo:

Exemplo

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
ORDER BY COUNT(CustomerID) DESC;

Banco de dados de demonstração

Abaixo está uma seleção da tabela "Pedidos" no banco de dados de exemplo Northwind:

OrderID CustomerID EmployeeID OrderDate ShipperID
10248 90 5 1996-07-04 3
10249 81 6 1996-07-05 1
10250 34 4 1996-07-08 2

E uma seleção da tabela "Shippers":

ShipperID ShipperName
1 Speedy Express
2 United Package
3 Federal Shipping

GROUP BY com exemplo de JOIN

A seguinte instrução SQL lista o número de pedidos enviados por cada remetente:

Exemplo

SELECT Shippers.ShipperName, COUNT(Orders.OrderID) AS NumberOfOrders FROM Orders
LEFT JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID
GROUP BY ShipperName;

Teste-se com exercícios

Exercício:

Liste o número de clientes em cada país.

SELECT (CustomerID),
Country
FROM Customers
;