Quando uma grande quantidade de dados está presente, geralmente vemos a possibilidade de manipular dados de acordo com nossos requisitos. A cláusula GROUP BY é uma delas , usado para agrupar os dados com base em algumas colunas ou em condições. Neste artigo sobre a instrução SQL GROUP BY, discutirei algumas maneiras de usar as instruções GROUP BY na seguinte sequência:
Antes de passarmos para os exemplos de como usar a cláusula GROUP BY, vamos entender o que é GROUP BY em SQL e sua sintaxe.
Instrução SQL GROUP BY
Esta instrução é usada para agrupar registros com os mesmos valores. A instrução GROUP BY é freqüentemente usada com as funções de agregação para agrupar os resultados por uma ou mais colunas.Além disso, a cláusula GROUP BY também é usada com a cláusula HAVING e para agrupar o conjunto de resultados com base nas condições.
Sintaxe SQL GROUP BY
SELECT Column1, Column2, ..., ColumnN FROM TableName WHERE Condição GROUP BY ColumnName (s) ORDER BY ColumnName (s)
Aqui, você pode adicionar as funções de agregação antes dos nomes das colunas e também uma cláusula HAVING no final da instrução para mencionar uma condição.A seguir, neste artigo sobre SQL GROUP BY, vamos entender como implementar essa instrução.
Exemplos:
Para sua melhor compreensão, dividi os exemplos nas seguintes seções:
Vou considerar a seguinte tabela para explicar a você os exemplos:
EmpID | EmpName | EmpEmail | Número de telefone | Salário | Cidade |
1 | Nidhi | nidhi@sample.com | 9955669999 | 50.000 | Mumbai |
2 | Anay | anay@sample.com | 9875679861 | 55000 | Colocar |
3 | Rahul | rahul@sample.com | 9876543212 | 35000 java o que é uma variável de instância | Délhi |
4 | Sonia | sonia@sample.com | 9876543234 | 35000 | Délhi |
5 | Akash | akash@sample.com | 9866865686 | 25000 | Mumbai |
Vamos dar uma olhada em cada um deles.
Use SQL GROUP BY em uma única coluna
Exemplo:
Escreva uma consulta para recuperar o número de funcionários em cada cidade.
SELECT COUNT (EmpID), City FROM Employees GROUP BY City
Resultado:
Você verá a seguinte saída:
Contagem (EmpID) | Cidade |
2 | Délhi |
2 | Mumbai |
1 | Colocar |
Use SQL GROUP BY em várias colunas
Exemplo:
Escreva uma consulta para recuperar o número de funcionários com salários diferentes em cada cidade.
SELECIONE Cidade, Salário, Contagem (*) FROM Funcionários GRUPO POR Cidade, Salário
Resultado:
A tabela terá os seguintes dados:
Cidade | Salário | Contagem(*) |
Délhi | 35000 | 2 |
Mumbai | 25000 | 1 |
Mumbai | 50.000 | 1 |
Colocar | 55000 | 1 |
Use SQL GROUP BY com ORDER BY
Quando usamos a instrução SQL GROUP BY com o Cláusula ORDER BY , os valores são classificados em ordem crescente ou decrescente.
Exemplo:
Escreva uma consulta para recuperar o número de funcionários em cada cidade, classificados em ordem decrescente.
SELECT COUNT (EmpID), City FROM Employees GROUP BY City ORDER BY COUNT (EmpID) DESC
Resultado:
A tabela terá os seguintes dados:
Contagem (EmpID) | Cidade |
2 | Délhi |
2 | Mumbai |
1 | Colocar |
Use SQL GROUP BY com a cláusula HAVING
A instrução SQL GROUP BY é usada com a cláusula ‘HAVING’ para mencionar condições em grupos.Além disso, uma vez que não podemos usar as funções de agregação com a cláusula WHERE, temos que usar a cláusula ‘HAVING’ para usar as funções de agregação com GROUP BY.
Exemplo:
Escreva uma consulta para recuperar o número de funcionários em cada cidade, com salário> 15.000
SELECT COUNT (EmpID), City FROM Employees GROUP BY City HAVING SALARY> 15000
Resultado:
Como todos os registros da tabela Employee têm um salário> 15.000, veremos a seguinte tabela como saída:
Contagem (EmpID) | Cidade |
2 | Délhi |
2 | Mumbai |
1 | Colocar |
Use GROUP BY com JOINS
está SQL instruções usadas para combinar linhas de duas ou mais tabelas, com base em uma coluna relacionada entre essas tabelas. Podemos usar a instrução SQL GROUP BY para agrupar o conjunto de resultados com base em uma coluna / colunas.Considere as tabelas abaixo para executar as instruções JOIN com a cláusula SQL GROUP BY.
Tabela de Projetos:
ProjectID | EmpID | ID do Cliente | Data do Projeto |
2. 3. 4. 5 | 1 | 4 | 26/01/2019 |
9876 | 2 | 5 | 28/02/2019 |
3456 | 3 | 6 | 12/03/2019 |
Tabela de clientes:
ID do Cliente | Nome do cliente |
4 | Sanjana |
5 | Rohan |
6 | Uma corrida |
Exemplo
Escreva uma consulta para listar o número de projetos solicitados por cada cliente:
SELECT Clients.ClientName, COUNT (Projects.ProjectID) AS RequestedProjects FROM Projects LEFT JOIN Clientes ON Projects.ProjectID = Clients.ProjectID GROUP BY ClientName
Resultado:
A tabela terá os seguintes dados:
Nome do cliente | RequestedProjects |
Uma corrida | 1 |
Rohan | 1 |
Sanjana | 1 |
Com isso, chegamos ao fim do artigo SQL GROUP BY. Veja isso por Edureka, uma empresa de aprendizagem online confiável com uma rede ou f mais de 250.000 alunos satisfeitos espalhados por todo o mundo. Este curso o treina nos principais conceitos e ferramentas e técnicas avançadas para gerenciar dados e administrar o banco de dados MySQL. Inclui aprendizagem prática em conceitos como MySQL Workbench, MySQL Server, Modelagem de Dados, MySQL Connector, Database Design, MySQL Command line, MySQL Functions, etc. Ao final do treinamento, você será capaz de criar e administrar seu próprio MySQL Database e gerenciar dados.
Tem alguma questão para nós? Mencione isso na seção de comentários deste artigo “SQL GROUP BY” e entraremos em contato com você o mais breve possível.