Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera, blzinha?
Seguinte, estou fazendo duas consultas no mySQL retornando o item subsequente e o valor inferior a um número definido.
Além dessa consulta, preciso retornar o maior ou o menor valor da consulta também. Para o valor maior, está correto, mas na outra consulta que preciso do valor menor, ele não me retorna.
Tomemos como exemplo 19 registros com "id" de 1 a 9.
A primeira consulta (correta) está assim:
SELECT id, MAX(id) AS maxid FROM tbl_cases WHERE id > 13 ORDER BY id ASC LIMIT 1;
Ele me retorna id = 14 e maxid = 19. Está ok.
A segunda consulta:
SELECT id, MIN(id) AS minid FROM tbl_cases WHERE id < 13 ORDER BY id DESC LIMIT 1;
Deveria me retornar id = 12 e minid = 1. Porém retorna os dois valores como 1.
Já tentei trocar a ordenação (DESC, ASC), agrupar (GROUP BY) e um tanto de coisa e não retorna de jeito nenhum.
Alguém sabe me dizer o que estou fazendo errado?
Obrigado.
isso nao existe (embora o banco nao de erro e retorne qualquer besteira) , ou o campo eh parte do agrupamento (esta no group by) ou sofre uma funçao agregada( sum() , min() , max() ) , entao o id nao pode estar voando na consulta ali