mx loco 1 Denunciar post Postado Fevereiro 25, 2015 Boa tarde galera, tenho um seguinte problema, tenho um select que esta sendo feito da seguinte forma: Select Numero From tabela Where Numero Between (VarNumero - 50) and (VarNumero + 50); limit 10; bom ate ai tube bem, portanto, preciso que retorno os 10 numero mais proximos de VarNumero e nao como retornado no select acima.Ex:VarNumero = 100No select acima, se tiver 10 numero entre 50 e 100, me retornara os mesmo pois o limit 10 tiraria os demais.Teria como eu fazer uma consulta para retornar os dados como desejados?Desde ja agradeco. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Fevereiro 25, 2015 Select * From tabela Order by abs(numero - varnumero) Limit 10 Compartilhar este post Link para o post Compartilhar em outros sites
mx loco 1 Denunciar post Postado Fevereiro 25, 2015 Boa tarde Motta, obrigado pela atenção.Fiz o teste com o dados informado, portanto não obtive o resultado esperado, pesquisei no docs e percebi que o abs retorna o valor absoluto. Reli meu post e percebi que não fui claro e ficou um pouco confuso.Imagine, tenho os dados na base: Numero - Cep 01 xxxx-xxxx 04 xxxx-xxxx 08 xxxx-xxxx 10 xxxx-xxxx 11 xxxx-xxxx 15 xxxx-xxxx 16 xxxx-xxxx 19 xxxx-xxxx 20 xxxx-xxxx 21 xxxx-xxxx 22 xxxx-xxxx 30 xxxx-xxxx Desta forma, o usuário pesquisa por cep e número, imagine que ele consulte o numero 10, como existe, mostro pra ele os dados restante da tabela, ate ai tudo bem. Portando, caso este número não exista na base, mas existe números próximos a 10 eu gostaria de exibir ao menos 10 registros.Imagine que ele busca por 7, como não existe, gostaria que retornasse os números (1,4,8,10,11,15,16,19,20,21,22), ou seja, os 10 mais próximos a ele.Espero que entenda.Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Fevereiro 25, 2015 Foi o que pensei , qual o erro na minha sql que vc notou ? Compartilhar este post Link para o post Compartilhar em outros sites
mx loco 1 Denunciar post Postado Fevereiro 25, 2015 Motta, obrigado, deu certo, inclui o abs na minha clausula, portando havia esquecido de tirar o asc do order. Agora esta funcionando perfeitamente, muito obrigado mesmo. Vivendo e aprendendo. Compartilhar este post Link para o post Compartilhar em outros sites