Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

CocaWare

para que serve e como usar o GROUP BY

Recommended Posts

Serve pra agrupar informações.Exemplo: • Uma tabela com vários nomes, aonde há registros com nomes iguais. Daí você quer saber quantos registros possui cada nome.- felipe- felipe- danielEntão para saber quantos registro possui cada nome, podemos usar o GROUP BY para agrupar os nomes, e usar a função COUNT(*) pra contar os registros para cada nome.Ficaria assim a query:

SELECT nome, COUNT(*) AS quant FROM tabela GROUP BY nome

Resultaria em:- felipe(2)- daniel(1)Esse é um exemplo, mas tem vários casos a serem usados.[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente obrigado Eclesiastes.mas me tira outra dúvida, em um fórum, eu quero pesquisar todos os tópicos que um determinado usuário criou. então a query ficaria como? usaria group by nisso né?Outra coisa, oq significa isso?

AS quant

Desde já agradeço novamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, para pegar todas as linhas em que se diz respeito a um usuário.Faz-se assim:

SELECT * FROM tabela WHERE usuario = 'Eclesiastes'

Assim teria os valores de todas as colunas aonde o valor do campo usuario é igual a 'Eclesiastes'.Em relação ao "COUNT(*) AS quant", essa parte quer dizer que eu criei um aliase, ou seja, um apelido para invocar o que resultou da função COUNT(*).Com isso, você pode se referir ao COUNT(*) que está no SELECT, com o seu apelido ao invés de escrever novamente o COUNT(*).Exemplo:

SELECT nome, COUNT(*) AS quant FROM tabela GROUP BY nome ORDER BY quant

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

ORDER BY serve para ordenar, do jeito que você colocou aí vai ordenar como? pq como você me falou poderia ser

SELECT nome, COUNT(*) AS quant FROM tabela GROUP BY nome ORDER BY COUNT(*)

já que quant é apelido do count.qual seria a regra de ordenagem? ou isso é só um exemplo?Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Foi um exemplo.E com esse exemplo, a ordenação ficaria da menor quantidade para maior (crescente), ou seja, os nomes que mais foram encontrados na tabela seriam os últimos a serem exibidos.Exemplo:

- daniel(1)- felipe(2)

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.