CocaWare 0 Denunciar post Postado Janeiro 7, 2006 Porfavor, alguém pode me explicar o uso do GROUP BY ? Se possível um exemplo simples pra mim entender.Até Compartilhar este post Link para o post Compartilhar em outros sites
Eclesiastes 2 Denunciar post Postado Janeiro 7, 2006 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
CocaWare 0 Denunciar post Postado Janeiro 8, 2006 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 quantDesde já agradeço novamente. Compartilhar este post Link para o post Compartilhar em outros sites
Eclesiastes 2 Denunciar post Postado Janeiro 8, 2006 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
CocaWare 0 Denunciar post Postado Janeiro 8, 2006 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
Eclesiastes 2 Denunciar post Postado Janeiro 8, 2006 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
CocaWare 0 Denunciar post Postado Janeiro 9, 2006 A beleza. Valeu mesmo Eclesiastes Compartilhar este post Link para o post Compartilhar em outros sites