Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Porfavor, alguém pode me explicar o uso do GROUP BY ? Se possível um exemplo simples pra mim entender.Até
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.
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
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
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
A beleza. Valeu mesmo Eclesiastes
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