Você pode ver o comando Count antes de usar o comando GROUP BY aqui. GROUP BYcommand irá criar grupos no nome do campo especificado e irá contar o número de registros nos grupos. Este é um comando muito útil.
Tambem podemos usar o comando WHERE junto com o comando GROUP BY nas tabelas Mysql.
SELECT count(*) as total_records, class FROM `student` group by class
Isso exibirá o total de registros em cada classe. Assim
total_records | class |
1 | Oito |
3 | Cinco |
9 | Quatro |
2 | Nove |
10 | Sete |
7 | Seis |
3 | Três |
Deixe-nos tentar obter o número total de registros de meninas em cada classe usando GROUP BY query. Aqui queremos filtrar nossa consulta apenas para meninas, então temos que usar uma cláusula WHERE para restringir os registros usando o campo sexo. Aqui está a consulta.
SELECT class,count( * ) AS total_records FROM `student` WHERE sex='female' GROUP BY class
A saída está aqui
classe | total_records |
Quatro | 5 |
Nove | 1 |
Seven | 5 |
Seis | 5 |
Três | 1 |
Duplicar registos
Podemos encontrar registos duplicados numa tabela usando o comando group by command. Vamos criar outra tabela student2_1 usando os mesmos dados e adicionando alguns registros duplicados. Aqui está a consulta
SELECT name, COUNT(id) AS no from student2_1 group by name having no > 1
Saída está aqui .
nome | no |
---|---|
Arnold | 2 |
Tade Row | 3 |
Você pode baixar o dump SQL desta tabela stduent2_1 com dados duplicados adicionados no final desta página.
Como apagar registros duplicados
Usando grupo por em um campo de data podemos gerar lista no ano civil, ano fiscal, mês sábio
Código da amostra
Aqui está um código de amostra para entender como usar grupo por consulta usando script PHP e PDO.
PARTE II: Vamos tentar aplicar grupo por comando a mais de um campo. Para isso vamos criar uma nova tabela e discutir em detalhes. Próxima Parte II
Down load the SQL DUMP of this student table
Down load the SQL DUMP of stduent2_1 table