Ir para conteúdo

POWERED BY:

Arquivado

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

drhouse

[Resolvido] Ordenar DISTINCT

Recommended Posts

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

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

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

×

Informação importante

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