SQL - Valor más repetido

   
Vista:

Valor más repetido

Publicado por Lig (3 intervenciones) el 12/06/2008 20:32:43
Hola.

Tengo una tabla con un campo donde un valor se puede repetir varias veces. Lo que quiero es una consulta que me diga cual es el valor que más se repite.
Ejemplo.

TablaNombres:
Columna nombres:
Luis
Alberto
Alberto
Luis
Alberto
Silvia.

Lo que yo quiero es saber cual es el valor que más está repetido en la tabla (en este caso Alberto, que está 3 veces).
Resultado:
Alberto 3

(Ojo porque si hay más de un valor que más se repite, también me interesa).

Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Valor más repetido

Publicado por Isaias (5073 intervenciones) el 14/06/2008 02:21:54
select nombre, count(nombre) as total
from tabla
group by nombre
order by 2 desc
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Valor más repetido

Publicado por Lig (3 intervenciones) el 14/06/2008 15:44:17
Hola amigo, ya había pensado eso, así obtenemos como primeros los más repetidos, efectivamente, pero si se pudiese refinar aún más para no obtener los que no sean los más repetidos tanto mejor.

Gracias de todas formas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Valor más repetido

Publicado por pacopaz (143 intervenciones) el 16/06/2008 19:42:27
Lo que pasa, Lig, es que esta misma pregunta se ha contestado como 3 veces en el transcurso de una semana, para todas, dando el query completo.
No es que no podamos responder a cada una de las preguntas, pero sería bueno que se dieran una vuelta a lo que ya hemos contestado y tratar de adecuarlo a su propio query.
A veces me da (nos da) la impresión que cada vez es más fácil ser desarrollador: Basta con ingresar a un foro para obtener toda clase de código.

En tu caso, la respuesta es esta:

select m.nombre, count(m.nombre) maximo
from
tabla m
group by
m.nombre having count(m.nombre) =
(select
max(i.total) from
(select count(t.nombre) as total
from tabla t
group by t.nombre) i)

Espero que te sirva.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Valor más repetido

Publicado por Lig (3 intervenciones) el 16/06/2008 20:08:37
Gracias por la respuesta, es perfecta, pero no obstante, te aseguro que usé el buscador del foro y no encontré ninguna coincidencia con los términos que busqué.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Valor más repetido

Publicado por StevKenshinX (1 intervención) el 22/02/2009 08:49:11
select nation_cod, count(nation_cod)
from invention
group by nation_cod
having count(nation_cod) = ( select max(count(nation_cod)) from invention
group by nation_cod )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Valor más repetido

Publicado por manuel garcia (1 intervención) el 02/12/2016 17:27:51
no puedes hacer un count dentro de un max...
es incorrecto tu query.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar