Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Funcion estadistica "moda"

Estas en el tema de Funcion estadistica "moda" en el foro de Bases de Datos General en Foros del Web. Hola foro: tengo una columna en un query, quisiera saber si hay alguna funcion que trabaje como la función estadistica "moda" , es decir, que ...
  #1 (permalink)  
Antiguo 27/12/2004, 20:09
Avatar de lorecasas  
Fecha de Ingreso: noviembre-2003
Mensajes: 126
Antigüedad: 21 años
Puntos: 0
Exclamación Funcion estadistica "moda"

Hola foro:

tengo una columna en un query, quisiera saber si hay alguna funcion que trabaje como la función estadistica "moda" , es decir, que al hacer el select a esta columna, encuentre cual es el dato que mas se repite y lo devuelva. Sería algo sencillo en un query pero si no lo obtengo directo, tendria que hacer una burbuja o algo asi para comparar uno por uno.

A ver si alguien tiene idea, gracias!!

Atte. Lorena
__________________
Lorena ;-)
  #2 (permalink)  
Antiguo 28/12/2004, 02:54
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 21 años, 3 meses
Puntos: 2
No existe tal función en mysql, pero puedes obtener el dato con una select sencilla:
Código:
select dato, count(dato)
from tabla
group by dato
order by 2 limit 1
Espero que te sirva.
Un saludo.
__________________
Estoy contagiado de Generación-I
  #3 (permalink)  
Antiguo 28/12/2004, 12:11
Avatar de lorecasas  
Fecha de Ingreso: noviembre-2003
Mensajes: 126
Antigüedad: 21 años
Puntos: 0
si salio!

Gracias Vice! Si me funcionó tu idea, es lo que yo buscaba, ahora nada más estoy viendo como hacerle para cuando varios datos se encuentren la misma cantidad de veces y sean el numero mas frecuente, es decir que se repita la moda para varios datos diferentes. Gracias!!!

Atte. Lore
__________________
Lorena ;-)
  #4 (permalink)  
Antiguo 29/12/2004, 01:51
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 21 años, 3 meses
Puntos: 2
Pues la única manera de sacarlo es por programación y tienes dos formas:
1. una vez que tienes el anterior resultado, te tomas el valor de la moda y buscas a todos los que se repiten ese número de veces con esta instrucción:
Código:
select dato, count(dato)
from tabla
group by dato
having count(dato) = $moda_anterior
2. cambiar la instrucción del mensaje anterior para que no limite la respuesta y tomar todos los datos (por programación) hasta que la moda te cambie.

Un saludo.
__________________
Estoy contagiado de Generación-I
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:15.