Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/03/2009, 09:13
ACIDWARRIOR
 
Fecha de Ingreso: marzo-2009
Mensajes: 10
Antigüedad: 15 años, 11 meses
Puntos: 0
Orden doble en consulta sql

Que tal! Primer tema en este foro :), si les soy sincero este foro me sirvió de mucho !

Bueno al grano, yo tengo en mi página ( una página donde se envían imagenes y luego de ser revisadas por los moderadores se suben al sitio) un top 10 de imágenes mas votadas y las mas vistas. Las mas vistas es fácil con el ORDER BY, y las mas votadas ( tendrían que ser las "mejor votadas" pero bue...) estan también con el ORDER BY, pero ahi viene el problema y separo el texto un poco para que no se enrrollen XD.

En las mas votadas con ORDER BY por promedio me las ordena( las 10 primeras con el LIMIT) de mayor promedio a menor, el problema es cuando las imagenes tienen el mismo promedio pero diferente cantidad de votos, en esos casos el sql las ordena por orden de entrada y queda mal.

Un ejemplo con 5 datos(los campos necesarios para entender nomás):

Los datos en tabla segun entrada
Código:
nombre     |  cantidad_votos         |  promedio
pepe                10                      8
lorena               5                      6
juanjo              16                      8
mario                7                      9
soledad              7                      2


Y lo que me muestra ahora es(lo interesante de color rojo XD) :

Código:
puesto        |  nombre      |  cantidad de votos       |  promedio
    1            mario                  7                        9
    2            pepe                  10                        8
    3            juanjo                16                        8
    4            lorena                 5                        6
    5            soledad                7                        2

Y lo que debería ir, según lo que pienso(corrijanme si me equivoco), sería:


Código:
puesto        |  nombre      |  cantidad de votos       |  promedio
    1            mario                  7                        9
    2            juanjo                16                        8
    3            pepe                  10                        8
    4            lorena                 5                        6
    5            soledad                7                        2
Ya que juanjo y pepe tienen el mismo promedio, que los ordene según cual fué votado por mas gente para obtener ese promedio.


Ese es mi razonamiento, por favor si alguien me dice como puedo hacer ese orden en la consulta SQL en php. O si creen que mi razonamiento está mal diganmelo también! todo cuenta! :P

Saludos gente!