Duvida com SQL - Distinct

5 respostas
mateusviccari

Boa noite, tenho a seguinte tabela, com os seguinte valores

Código | Texto
1 | X
2 | X
3 | X
4 | y
5 | y

Gostaria de fazer um select que me retornasse o numero de ocorrencias pra cada registro com o texto igual, por exemplo:

Registro X - 3
Registro Y - 2

Tenho que usar distinct, count… o que alem disso?

5 Respostas

BrunoFurtado

Opa…

Cara, primeiro vc cria grupos.
Dentro desses grupos, vc seleciona a quantidade de registros existentes.

É mais fácil entender com um exemplo:

SELECT 
	Texto, COUNT(Texto)
FROM
	Tabela
GROUP BY
	Texto
;
Marcelo_de_Andrade

Papinha:

A

O Distinct na verdade, é praticamente igual ao Group By.

A principal diferença é que o distinct é mais simples e o group by permite funções agregadas.

Funções agregadas são funções como Count, Max, Min.

No seu caso, justamente por precisar contar, você utilizará group by e não o distinct.

O que precisa fazer é agrupar pelo texto (x, y…) e usar o count.

mateusviccari

e quando eu quiser fazer count usando o distinct pra 2 colunas, por ex.
Coluna 1 | Coluna 2
X | A
X | A
X | B
Y | A

pmlm
Criado 9 de novembro de 2012
Ultima resposta 10 de nov. de 2012
Respostas 5
Participantes 5