Por Pedro Gaspar para o PPLWARE
Depois de termos aprendido algumas das funções mais básicas de sql, esta semana vamos aprender a agrupar resultados utilizando o DISTINCT e o GROUP, alem disso também vamos aprender a contar os resultados obtidos com recurso ao COUNT
Para apresentar alguns exemplos utilizei a tabela que temos vindo a usar nas ultimas semanas com os seguintes dados:
Sintaxe de Utilização
SELECT DISTINCT nome_coluna(s)
FROM nome_tabela
O DISTINCT é a forma mais simples de o fazer, mas também podemos utilizar o GROUP Sintaxe de Utilização
SELECT nome_coluna(s)
FROM nome_tabela
GROUP BY coluna1 [, coluna2, coluna3]
Nada melhor para explicar todo o conceito do que utilizar alguns exemplos:
EXEMPLO1 Objectivo: Apresentar a lista de cores de cabelo Query utilizando o DISTINCT:
SELECT DISTINCT cor_cabelo
FROM `tbl_ppware`
Query utilizando o GROUP:
SELECT cor_cabelo
FROM `tbl_ppware`
GROUP BY cor_cabelo
Resultado:
Vamos agora aprender a função COUNT para mais à frente utiliza-la em conjunto com o DISTINCT e o GROUP O COUNT permite-nos contar o numero de registos de uma determinada coluna.
Sintaxe de utilização
SELECT COUNT(nome_coluna)
FROM nome_tabela
EXEMPLO2 Objectivo: Apresentar o numero de registos que estão na tabela tbl_pplware Query:
SELECT COUNT( * )
FROM `tbl_ppware`
(como não queremos seleccionar nenhum campo em particular podemos utilizar o ‘*’, mas poderíamos ter utilizado um campo qualquer para o efeito) Resultado:
SELECT COUNT( * ) AS total
FROM `tbl_ppware`
Resultado:
EXEMPLO3 Objectivo: Apresentar o numero das diferentes cores de cabelo existentes Query:
SELECT COUNT( DISTINCT cor_cabelo ) AS cores
FROM `tbl_ppware`
Resultado:
EXEMPLO4 Agora vamos juntar tudo o que aprendemos até este ponto. Objectivo: Apresentar as cores de cabelo existentes e ao mesmo tempo mostrar quantas vezes existe cada uma Query:
SELECT cor_cabelo, COUNT( * ) AS total
FROM `tbl_ppware`
GROUP BY cor_cabelo
Resultado: