_Betto 0 Denunciar post Postado Outubro 6, 2005 Eu to com um problema, eh uma galeria de fotos, qd guarda o numero de clicks e o numero de votos, eu tenho o campo clicks, os campos referentes as notas q vão de n0, n1, n2 ... n10. Com eles eu estraio a media. So q no meu site ta tendo muitas notas 10... então o Top 10 fica do 1 ao 10 so com nota 10. Então eu queria q o Mysql me desse o seguinte Ordernar por media Se a media for igual. Passa a frente quem tem mais votos, se tiverem o mesmo numero de votos Passa a frente quem tem mais clicks se ainda assim tiverem o mesmo numero de clicks Passa a frente quem foi adicionada primeiro no site (Quem tem o ID menor) Eu posso ate fazer isso pelo PHP, mas acho q não to sendo fiel. Afinal, a 11º ainda com nota 10 pode ter mais votos q as outras q entrar no top 10. Mas o mysql não a trouxe, afinal ele so ordenou pela media, e não olhou o meu segundo criterio de ordenação, o numero de votos Eis o meu SQL pra retornar o q eu uso select a.id,b.id as id_galeria, concat(b.diretorio,'/',a.nome) as foto,b.titulo as festa, a.clicks,a.n0+a.n1+a.n2+a.n3+a.n4+a.n5+a.n6+a.n7+a.n8+a.n9+a.n10 as votos, (0*a.n0+1*a.n1+2*a.n2+3*a.n3+4*a.n4+5*a.n5+6*a.n6+7*a.n7+8*a.n8+9*a.n9+10*a.n10) / (a.n0+a.n1+a.n2+a.n3+a.n4+a.n5+a.n6+a.n7+a.n8+a.n9+a.n10) as media from fotos a inner join galerias b on a.galeria=b.id where a.n0+a.n1+a.n2+a.n3+a.n4+a.n5+a.n6+a.n7+a.n8+a.n9+a.n10>0 and b.exibe='S' order by media desc limit 10 Com ele eu consigo algumas informações pra exibir a foto, a media, clicks e numero de fotos Algume pode me ajudar a deixar esse Top 10 mais fiel? Agradeço desde ja Compartilhar este post Link para o post Compartilhar em outros sites
Eclesiastes 2 Denunciar post Postado Outubro 6, 2005 Veja assim:ORDER BY media DESC, votos DESC, clicks DESC, id Compartilhar este post Link para o post Compartilhar em outros sites
_Betto 0 Denunciar post Postado Outubro 7, 2005 putz... valew mesmobrigadão!! Compartilhar este post Link para o post Compartilhar em outros sites