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

Miren esto es rarisimo

Estas en el tema de Miren esto es rarisimo en el foro de Mysql en Foros del Web. Bueno... es posible que solo sea raro para mi porque mucho no se pero ustedes diran hago esta consulta en mysql $query1=mysql_query("select url, visitas , ...
  #1 (permalink)  
Antiguo 22/08/2009, 08:56
 
Fecha de Ingreso: junio-2009
Mensajes: 231
Antigüedad: 14 años, 10 meses
Puntos: 1
Miren esto es rarisimo

Bueno... es posible que solo sea raro para mi porque mucho no se pero ustedes diran

hago esta consulta en mysql

$query1=mysql_query("select url, visitas , fecha FROM `out` GROUP BY fecha, visitas ORDER BY fecha DESC , visitas DESC",$conexion_db);

Esta tabla es de un sript que cuenta visitas por fechas,

Como bien pueden ver esta la columna url, visitas (Numero por dia) y fecha

con esto

GROUP BY fecha, visitas ORDER BY fecha DESC , visitas DESC

En teoria hago que muestre las visitas enviadas por fecha. Por ejemplo hoy ayer y asi de forma descendente y tambien ordenadas por sitio que mas envio visitas

de esta forma puedo ver en forma de top diario quien envio mas visitas.

Perfecto hasta aqui.

Ahora el problema que veo el cual me parece rarisimo es que cuando dos sitios tienen el mismo numero de visitas en un mismo dia

por ejemplo

___URL_______VISITAS_____FECHA
site1.com________2_____2009-08-22
site2.com________2_____2009-08-22

Solo muestra un solo sitio... no muestra los dos

en la lista por ejemplo me sale solo site1.com y site2.com no lo muestra a no ser que tengan distintas visitas....

Esto se me hace mas que raro porque no sabia que al ordenar en forma decreciente o alreves no muestra los que estan repetidos....

Como es alguien me dice¿'?

Gracias
  #2 (permalink)  
Antiguo 22/08/2009, 10:22
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Miren esto es rarisimo

Te falta hacer el agrupamiento por site.
Al hacer sólo por fecha y visitas, esto hace que descarte todos los registros posteriores al primero ordenado pues el primero ya cumple con el agrupamiento.
En MySQL hay que poner en el GROUP BY todos los campos por los que se desea discriminar. Si uno falta, sus valores quedan "absorbidos" por el anterior.
Este comportamiento es algo extraño para usuarios de otros DBMS, pero es muy útil para ciertas depuraciones de datos. En otros DBMS (Oracle, por ejemplo), el GROUP Y debe incluir todos los campos que se indican en el SELECT.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 22/08/2009, 10:31
 
Fecha de Ingreso: junio-2009
Mensajes: 231
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Miren esto es rarisimo

Muy buena la info, no sabia esto.

Ahora si ya lo agrege y me funciona perfect o

MIl gracias amigo te doy karma
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 22:24.