SrMaster 0 Denunciar post Postado Julho 17, 2014 Boa noite. Estou listando ordenando por clicks, mas se um registro tem 74 cliques, e outro tem 8, o 8 fica na frente do 74, se eu mudar pra 6, o 74 fica na frente. Alguém sabe porque só está contando pelo primeiro número? Exemplo, tenho um link com 60 cliques, outro com 7 cliques, o com 7 cliques fica na frente do de 60... Código: $sql = "SELECT * FROM links WHERE status='okay' and date='$data_of_day' ORDER BY clicks DESC"; Obrigado pessoal! :yes: Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Julho 17, 2014 Qual tipo de campo é o clicks? Se não for um numérico (int) não vai funcionar mesmo. Compartilhar este post Link para o post Compartilhar em outros sites
Nosreve 12 Denunciar post Postado Julho 17, 2014 Olá, isso ocorre porque é ordenado pelo primeiro numero e depois passa para o segundo, o primeiro que é 8 vai ficar na frente do 74, porque o 8 é maior que 7, e se caso tenha dois valores por exemplo 74 e 75, é primeiro verificado o primeiro numero e como são iguais passa para o segundo. A solução é colocar um 0 (zero) em numeros menores de 10, como o 8, ficaria 08 Compartilhar este post Link para o post Compartilhar em outros sites
lokaodomau 61 Denunciar post Postado Julho 17, 2014 Basta utilizar a dica do #2, que é a maneira correta. Ordenando uma string dá nisso, kkk. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Julho 17, 2014 tente ORDER BY CAST(clicks AS INT) Compartilhar este post Link para o post Compartilhar em outros sites
SrMaster 0 Denunciar post Postado Julho 17, 2014 Qual tipo de campo é o clicks? Se não for um numérico (int) não vai funcionar mesmo. Funcionou, vlw. Compartilhar este post Link para o post Compartilhar em outros sites