Grupo MySQL por cláusula e função de contagem

Grupo MySQL por cláusula e função de contagem
Os dados podem ser recuperados das tabelas de banco de dados MySQL usando a consulta selecionada de maneiras diferentes. Geralmente, o grupo por cláusula é usado com a consulta selecionada para recuperar o conjunto de recordes, agrupando um ou mais valores da coluna. Muitas funções agregadas do MySQL também são usadas com o grupo por cláusula para ler dados da tabela, como count (), max (), min (), avg (), etc. Os usos do grupo por cláusula com ou sem a função count () foram discutidos neste tutorial.

Grupo por cláusula:

É usado principalmente para obter o resumo dos dados da tabela com base na (s) coluna (s) da tabela. A sintaxe desta cláusula é fornecida abaixo:

Sintaxe:
Selecione declarações…
Grupo por coluna1 [, column2,…];

A consulta selecionada recuperará os dados das tabelas com base nos nomes de colunas definidos com o grupo por cláusula.

Função count ():

Esta função conta o número total de registros retornados executando a consulta selecionada. Ele retorna um valor Bigint quando um ou mais registros são retornados pela consulta. Caso contrário, ele re-tira 0. A sintaxe da função count () é fornecida. Esta função pode ser usada de três maneiras diferentes que são explicadas abaixo:

  1. CONTAR(*)
    É usado para contar o número total de linhas retornadas pela consulta selecionada contando valores nulos, não nulos e duplicados.
  2. Contagem (expressão)
    É usado para contar o número total de linhas retornadas pela consulta Select sem contar os valores nulos.
  3. Contagem (expressão distinta)
    É usado para contar o número total de linhas retornadas pela consulta Select sem contar os valores nulos e valores duplicados.

Usos do grupo por cláusula e função count ():

Você precisa criar uma tabela de banco de dados com dados em um banco de dados MySQL para verificar o grupo no MySQL. Abra o terminal e conecte -se ao servidor MySQL, executando o seguinte comando:

$ sudo mysql -u root

Execute o seguinte comando para criar um banco de dados nomeado test_db:

Criar banco de dados test_db;

Execute o seguinte comando para selecionar o banco de dados:

Use test_db;

Execute a seguinte consulta para criar uma tabela chamada Sales_persons com quatro campos:

Crie tabela sales_persons (
ID int Auto_increment Chave primária,
Nome Varchar (30) não nulo,
Email Varchar (50),
contact_no varchar (30));

Execute a seguinte consulta para inserir os três registros no Sales_person mesa:

Inserir em 'sales_persons' ('id', 'nome', 'email', 'contact_no') valores (null, 'kamal hasan', '[email protected] ',' 0191275634 '),
(Null, 'nila hossain', '[email protected] ',' 01855342357 '),
(Null, 'Abir Hossain', '[email protected] ',' 01634235698 ');

Execute a seguinte consulta para criar uma tabela chamada vendas com quatro campos que contém uma chave estrangeira que criará o relacionamento um para muitos Sales_persons Tabela para o vendas mesa.

Crie vendas de tabela (
Id int não é uma chave primária nula,
Sales_date Data não nula,
quantidade int,
sp_id int,
Restrição fk_sp chave estrangeira (sp_id)
Referências Sales_persons (ID)
Em excluir cascata na atualização em cascata);

Execute a seguinte consulta para inserir quatro registros no vendas mesa.

Inserir em 'vendas' ('id', 'sales_date', 'valor', 'sp_id') valores
('90', '2021-11-09', '800000', '1'),
('34', '2020-12-15', '5634555', '3'),
('67', '2021-12-23', '900000', '1'),
('56', '2020-12-31', '6700000', '1');

Exemplo 1: Uso do grupo por cláusula com uma única coluna

Execute a seguinte consulta selecionada para descobrir o ID e o nome dos vendedores que têm registros no vendas mesa. O ID do vendedor é usado para agrupar o grupo por cláusula. De acordo com o conteúdo da tabela de vendas, a tabela de vendas contém os registros dos dois vendedores que serão impressos na saída:

Selecione SP_ID como ID, SALES_PERSONS.nome como 'vendedora'
De Sales_persons, vendas
Onde sales_pesons.id = vendas.sp_id
Grupo por sp_id;

Saída:

A saída a seguir aparecerá após a execução da consulta anterior:

Exemplo 2: Uso do grupo por cláusula com várias colunas

O uso do grupo por cláusula com duas colunas foi mostrado na seguinte consulta selecionada. Os nomes do vendedor que têm uma entrada no vendas Tabela para o novembro o mês será impresso na saída após executar a consulta. Há apenas uma entrada para o novembro mês no vendas mesa:

Selecione SP_ID como ID, SALES_PERSONS.nome como 'vendedora'
De Sales_persons, vendas
Onde sales_pesons.id = vendas.SP_ID e MENSHNAME (SALES_DATE) = 'novembro'
Grupo de sp_id, MonthName (sales_date);

Saída:

A saída a seguir aparecerá após a execução da consulta anterior:

Exemplo 3: Uso do grupo por cláusula com a função Count (*)

Os usos da função Count (*) com o grupo por cláusula foram mostrados na seguinte consulta. O número total de vendas será contado de cada vendedor será impresso após executar a consulta:

Selecione Sales_persons.Nome como 'vendedora', conte (*)
De Sales_persons, vendas
Onde sales_pesons.id = vendas.sp_id
Grupo por sp_id;

Saída:

De acordo com os dados do vendas Tabela, a saída a seguir aparecerá após a execução da consulta previosa:

Exemplo 4: Uso do grupo por cláusula com a função Count (Expression)

Os usos da função de contagem (expressão) com o grupo por cláusula foram mostrados na consulta a seguir. O número total de vendas com base no nome do mês será contado após o corte da consulta:

Selecione MonthName (vendas.sales_date) como 'mês', contagem (mês (vendas.Sales_date)) como 'número de vendas'
De vendas
Grupo por mês nome (vendas.sales_date);

Saída:

De acordo com os dados do vendas Tabela, a saída a seguir aparecerá após a execução da consulta previosa:

Exemplo 5: Uso do grupo por cláusula com a contagem (distinta expresa-Sion)

A função Count (Expression) com o grupo por cláusula foi usada no seguinte que é para contar o número total de vendas com base no nome do mês e no ID do vendedor:

Selecione SP_ID como 'ID da pessoa de vendas', MonthName (Sales_date) como mês, Count (sp_id) como 'Vendas totais'
De vendas
Grupo por mês nome (Sales_date), sp_id;

Saída:

De acordo com os dados do vendas Tabela, a saída a seguir aparecerá após a execução da consulta previosa:

A contagem (expressão distinta) é usada na consulta a seguir para determinar as vendas exclusivas com base no nome do mês e no ID da pessoa de venda:

Selecione SP_ID como 'ID da pessoa de vendas', MonthName (Sales_date) como mês, Count (Distinct SP_ID) como 'Vendas exclusivas encontradas'
De vendas
Grupo por mês nome (Sales_date), sp_id;

Saída:

De acordo com os dados do vendas Tabela, a saída a seguir aparecerá após a execução da consulta previosa:

Conclusão:

Os usos simples do grupo por cláusula e o grupo por cláusula com a função count () mostrada neste tutorial Use várias consultas selecionadas. O objetivo do uso da cláusula do grupo por grupo será claro depois de ler este tutorial. Esperamos que você tenha achado este artigo útil. Confira outros artigos de dica do Linux para obter mais dicas e tutoriais.