drhouse 1 Denunciar post Postado Junho 20, 2010 Ola amigos tenho uma tabela com nomes repetidos e quero ver os nomes que mais se repetem, e criar tipo um top 10 com os nomes que mais se repetem como no exemplo do codigo abaixo, tentei usar o "ORDER BY nome DESC" so que não ordena, gera aleatorio o resultado com 10 com limite que defini pelo oque está dando o resultado no WHILE, teria como ordenar o resultado dos distintos nomes encontrados em ordem DESC, Obrigado desde já. // MYSQL busca. $sqlBuscaDistinto = $mySQL->sql("SELECT DISTINCT nome FROM usuario ORDER BY nome DESC LIMIT 10"); // Efetua a busca. while($lnBuscaDistinto = mysql_fetch_assoc($sqlBuscaDistinto )){ Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Junho 21, 2010 que tal um COUNT + GROUP BY ? assim, você terá de quebra qntas vezes cada um se repete. Se tiver dificuldades poste a estrutura sql da tabela. Compartilhar este post Link para o post Compartilhar em outros sites
drhouse 1 Denunciar post Postado Junho 21, 2010 Não entendi como usar. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Junho 21, 2010 exemplo: -- -- Estrutura da tabela `cliente` -- CREATE TABLE IF NOT EXISTS `cliente` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nome` varchar(100) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ; -- -- Extraindo dados da tabela `cliente` -- INSERT INTO `cliente` (`id`, `nome`) VALUES (1, 'Bruno'), (2, 'Bruno'), (3, 'Bruno'), (4, 'Rocha'), (5, 'Moraes'), (6, 'Moraes'), (7, 'William'), (8, 'William'); e a consulta: SELECT COUNT(nome) AS num, nome FROM cliente GROUP BY nome ORDER BY num DESC Compartilhar este post Link para o post Compartilhar em outros sites
drhouse 1 Denunciar post Postado Junho 21, 2010 Obrigado William deu certinho. Compartilhar este post Link para o post Compartilhar em outros sites