O parâmetro GROUP BY é muito interessante, pois nos permite agrupar resultados de acordo com qualquer elemento presente na tabela. Isso nos permite uma análise muito mais apurada dos dados. Para demonstrar seu funcionamento, vamos popular nossa tabela "aluga", que de todas as criadas neste minicurso é a única que ainda não possui dados.

Vamos relembrar, através do comando "desc aluga", a estrutura que esta tabela possui, para que possamos fazer a inserção de dados nela:

Group By MySQL

Ela possui as colunas CPF, que é uma chave estrangeira da tabela "cliente". A coluna codigo, que é chave estrangeira do código contido na tabela "filme". E a coluna data, que armazena a data da locação do filme. Vou inserir os seguintes dados:

INSERT INTO aluga VALUES ("123321123-33", 2, "2011-12-01");

INSERT INTO aluga VALUES ("123321123-33", 1, "2011-12-01");

INSERT INTO aluga VALUES ("123321123-33", 3, "2011-12-01");

INSERT INTO aluga VALUES ("756398336-20", 3, "2011-12-03");

INSERT INTO aluga VALUES ("756398336-20", 6, "2011-12-03");

INSERT INTO aluga VALUES ("756398336-20", 5, "2011-12-01");

INSERT INTO aluga VALUES ("756398336-20", 1, "2011-12-01");

INSERT INTO aluga VALUES ("389476625-11", 1, "2011-12-01");

Agora nossa tabela "aluga" contém os seguintes dados:

Group By MySQL

Agora vamos imaginar que quiséssemos saber quantos filmes cada um dos clientes alugou. Você talvez tenha pensado em fazer um SELECT COUNT, mas veja o que acontece se fizermos isso:

Group By MySQL

O sistema nos retornou todas as pessoas que já alugaram filmes. Sabemos, portanto, que foram 8 locações, mas quantos clientes estão presentes nestas 8 locações não é possível saber. Isso acontece porque os CPFs não estão agrupados, ou seja, não é possível contá-los separadamente. É aí que o GROUP BY vai atuar, criando pequenos grupos de cada CPF, para que possamos efetuar a contagem dessa forma. É mais simples do que parece, vejam:

SELECT count(cpf) AS 'Qtde de Filmes Alugados', cpf AS CPF FROM aluga GROUP BY (cpf);

Group By MySQL

Vejam só que bacana, o comando nos retornou exatamente o que queríamos. Vamos interpretar esse comando. Estamos pedindo ao SGBD o seguinte:

Conte os CPFs e exiba-os com o rótulo de “Qtde de Filmes Alugados”, exiba também a coluna "cpf" com o rótulo de CPF, ambos da tabela "aluga", AGRUPADOS POR CPF.

É esse GROUP BY(cpf) que permite a contagem correta dos filmes alugados a partir dos seus CPF.

Poderíamos ainda fazer um INNER JOIN e exibir os nomes dos clientes, vejam que interessante:

SELECT count(aluga.cpf) AS 'Qtde de Filmes Alugados', aluga.cpf AS CPF, nome AS Cliente FROM aluga INNER JOIN cliente ON cliente.cpf=aluga.cpf GROUP BY (cpf);

E o retorno seria:

Group By MySQL

Espero que tenha ficado claro qual a função desse importante parâmetro, que é o GROUP BY.


HARDWARE

Entendendo o seu computador

O que há dentro do meu computador?

Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.

  • Gabinetes

  • Placas-Mãe

  • Processadores

  • Memória

  • Fontes

  • Drives Ópticos

  • Discos Rígidos

  • SSD

  • Placas de Som

  • Placas de Vídeo

Você Sabia?

A partida mais longa do clássico Space Invaders durou incríveis 38 horas e 32 minutos e esta façanha foi conseguida por um jogador de apenas 12 anos! O jogo, claro, podia ser pausado para alimentação e descanso, mas ainda assim o recorde, estabelecido no dia 02/09/1980, ainda não foi quebrado. Saiba mais.


As primeiras máquinas de fliperama do mundo a utilizarem moedas, chamadas de Galaxy Game, custavam mais de 20 mil dólares para serem produzidas. Saiba mais sobre elas aqui.


Excesso de barulho dentro do seu gabinete, principalmente logo que você o liga, pode ser sintoma de problemas nas ventoinhas, que podem precisar ser limpas ou trocadas. Entre em contato com um técnico de sua confiança e verifique isso o quanto antes.


A Máquina de Pascal, criada em 1642 pelo filósofo, físico e matemático francês Blaise Pascal, é reconhecida como o primeiro computador do mundo e ele foi criado com o objetivo de calcular impostos. Saiba mais.


Nos primeiros oito dias após o lançamento do console Nintendo Wii foram vendidas 600 mil unidades. Isso equivale a quase um por segundo e estes incríveis números são referentes às vendas apenas nos EUA!