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

Seleccionar registro más repetido

Estas en el tema de Seleccionar registro más repetido en el foro de Mysql en Foros del Web. ¡Hola! ¿Cómo haría para sacar de una tabla el registro que contiene más veces el campo page ? La tabla tiene: ip page fecha Pues ...
  #1 (permalink)  
Antiguo 05/06/2009, 09:11
(Desactivado)
 
Fecha de Ingreso: abril-2009
Ubicación: En mi casa
Mensajes: 191
Antigüedad: 15 años
Puntos: 0
Seleccionar registro más repetido

¡Hola!

¿Cómo haría para sacar de una tabla el registro que contiene más veces el campo page?

La tabla tiene:

ip

page

fecha


Pues quisiera sacar aquel page que aparece más repetido.

Ejemplo, si fueran estos registros:

113.233.9.3 pagina1 23-2-1234
193.453.9.3 pagina3 23-2-2209
113.233.9.3 pagina1 23-2-2569
193.233.9.3 pagina2 23-2-2627
112.233.9.3 pagina1 23-2-2873

Claro que son valores ficticios xd

Bueno... pues quisiera un sql que me sacara (en este caso) el valor pagina1

¿Es posible? (Si no no importa, es solo para ver la página más visitada de mi web)... Ah, y si pueden sacarse los 10 pages más visistados ordenados de mayor a menor visitas muchísimo mejor.

Gracias de antemano
  #2 (permalink)  
Antiguo 05/06/2009, 09:32
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Seleccionar registro más repetido

Puedes agrupar los registros por ese campo (GROUP BY page) y luego con un COUNT() obtener el número de apariciones que puedes ordenar usando ORDER BY.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 05/06/2009, 10:51
(Desactivado)
 
Fecha de Ingreso: abril-2009
Ubicación: En mi casa
Mensajes: 191
Antigüedad: 15 años
Puntos: 0
Respuesta: Seleccionar registro más repetido

Gracias de nuevo... siempre estás ahí en todas mius dudas

Entonces qué debería hacer ¿dos consultas?

Saludos!
  #4 (permalink)  
Antiguo 05/06/2009, 10:58
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Seleccionar registro más repetido

No, no son necesarias dos consultas.

Prueba esto y nos dices si es lo que buscas:
Código MySQL:
Ver original
  1. SELECT page, COUNT(page) FROM tabla GROUP BY page;
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 06/06/2009, 07:13
(Desactivado)
 
Fecha de Ingreso: abril-2009
Ubicación: En mi casa
Mensajes: 191
Antigüedad: 15 años
Puntos: 0
Respuesta: Seleccionar registro más repetido

Gracias... pero he puesto un ORDER BY page DESC al final de tu consulta y no las ordena... aunque me muestra el número de veces que aparece cada pág.

Yo puse esto:

Código:
 SELECT page, COUNT( page )
FROM visitas
GROUP BY page DESC
LIMIT 0 , 10
Saludos... y espero que puedas ayudarme
  #6 (permalink)  
Antiguo 06/06/2009, 08:28
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Seleccionar registro más repetido

Código sql:
Ver original
  1. SELECT page, COUNT(page ) totpages
  2. FROM visitas
  3. GROUP BY page ORDER BY totpages DESC
  4. LIMIT 1

Pero tiene un inconveniente, que si dos o más páginas tienen la misma cantidad de apariciones y dicha cantidad es la máxima, sólo te mostrará una de las páginas. Para que te muestre todas, tendrás que obtener primero la cantidad máxima: y luego buscar las que tienen esa cantidad. Para eso quizás así:
Código sql:
Ver original
  1. SELECT ip, page, fecha FROM visitas GROUP BY page HAVING COUNT(*) =(SELECT COUNT( page ) tot
  2. FROM visitas GROUP BY page
  3. ORDER BY tot DESC LIMIT 1)

Última edición por jurena; 06/06/2009 a las 08:53
  #7 (permalink)  
Antiguo 06/06/2009, 08:54
(Desactivado)
 
Fecha de Ingreso: abril-2009
Ubicación: En mi casa
Mensajes: 191
Antigüedad: 15 años
Puntos: 0
Respuesta: Seleccionar registro más repetido

Wow...! Muchas gracias a todos!

¿Podrían darme un manual de "consultas que se hagan y muestren el resultado en esta misma"?

Por ejemplo, que me saque un dato x con el nombre que yo quiere, como en este caso era totpages.

Saludos!

Por cierto... no importa que me coja una página más que otra... Si a mi me sirve para ver las páginas más visitadas en general... aunque me sirve para aprender
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 15:01.