Gans 0 Denunciar post Postado Julho 24, 2009 Olá Pessoal.. Estou com uma duvida em MySQL.. Gostaria de fazer algo desse tipo: Tabela de Banco de Dados ID NOME 1 José 2 Mario 3 Mario 1 José 1 José 1 José Na pagina eu queria que aparecesse: Colocação: 1. Jose (4) 2. Mario (2) Já tentei usando GROUP mas nao consegui. Alguem sabe como posso fazer esse retorno ? Obrigado EDIT: Consegui uma parte assim: $usuarios = mysql_query("SELECT DISTINCT nome FROM concurso"); Porem ele exibe: Mario Jose Precisaria mostrar também quantas vezes ele aparece. Tentei por "mysql_num_rows" mas aparece 2. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Julho 24, 2009 select nome,count(*) from tabela group by nome para o formato que você quer ... select nome || '(' || qtd || ')' nomes from ( select nome,count(*) qtd from tabela group by nome ) Esta sintaxe funciona no Oracle talvez tenha de ser adaptada. Compartilhar este post Link para o post Compartilhar em outros sites
Gans 0 Denunciar post Postado Julho 24, 2009 Então Motta, desse jeito fica igual ao jeito que fiz com o DISTINCT... ele está colocando em ordem alfabética... Precisaria aparecer em primeiro lugar o José, entre parenteses o numero de vezes que ele apaercer na tabela e em segundo lugar o Mario. Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Julho 24, 2009 select nome, CONCAT('(', count(*) ,')') votos from tabela group by id order by count(*) desc Compartilhar este post Link para o post Compartilhar em outros sites