digamos que tienes una tabla llamada tabla1 que tiene los campos (id,nombre) y 
que tiene un listado de nombre que pueden estar repetidos o no, una variante 
para buscar la info que necesitas podría ser por ejemplo:

SELECT nombre, count(nombre) as cantidad FROM `tabla1` group by nombre order by 
cantidad desc

Resultado 

nombre  / cantidad
-----------------
pedro   4
juan    2
alberto 2
martha  1

si te das cuenta con eso simplemente ya obtenemos los datos ordenados

Si solo queremos los nombres

select nombre from (SELECT nombre, count(nombre) as cantidad FROM `tabla1` 
group by nombre order by cantidad desc) t

Resultado 

nombre
-------
pedro   
juan    
alberto 
martha  

dicho esto ya puedes obtener solo el nombre que mas se repite, y como este se 
encuentra en el primer registro lo podemos obtener con:

select nombre from (SELECT nombre, count(nombre) as cantidad FROM `tabla1` 
group by nombre order by cantidad desc) t1 limit 1

o quizás te interesa saber solo el nombre y además la cantidad que se repite y 
eso puedes hacerlo así

select nombre, cantidad from (SELECT nombre, count(nombre) as cantidad FROM 
`tabla1` group by nombre order by cantidad desc) t1 limit 1


Si estás ejecutando los SQL en crudo, ya tienes la solución y si estas 
utilizando las funciones que provee el codeIgniter para el acceso a la BD solo 
te queda adaptarlo a éstas..

Saludos

-- 
Lic. Jorbel Borrero Pérez 
Administrador de Redes 
Centro de Información y Gestión Tecnológica (MEGACEN) 
Tel: +53 (22) 628291 ext 113 
Linux Usuario Registrado # 587345 
Grupo de Usuarios que usan Tecnologías Libres ( GUTL ) 
Santiago de Cuba 


______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l

Responder a