Olá galera,
Estou fazendo um select para retornar quem pagou a maior multa usando a função max(). A questão é: eu posso ter mais de uma pessoa que pagou a maior multa. Exemplo: se o valor maximo pago é 500. e 20 pessoas pagaram esse valor, a minha consulta deveria retornar os 20 resultado. Todavia apenas o primeiro valor máximo da tabela encontrado e retornado ignorando os outros 19. Alguma dica para que me mostre todos esses valores máximos NÃO LIMITADO em 20? Não dá para limitar pois o banco a medida que cresce pode ocorrer de mais pessoas pagarem o o valor máximo.
Mostrar mais de um valor Máximo num select no mysql
R
3 Respostas
1 like
Use subquery, exemplo:
SELECT * FROM table WHERE columns_valor = (SELECT MAX(columns_valor) FROM table) ;
R
Jonathan, usando esse método me retorna todos os registro e não apenas os maiores.
Não se se fui claro o suficiente mas a questão é que no momento tenho na tabela 2 valores iguais que são os maiores, dois registros com o valor 1000. usando o max() ou ele retorna apenas o primeiro valor maior ou retorna todos os valores do menor ao maior. Preciso que mostre os 2 registro e se no futuro tiverem mais valores iguais no topo dos valores que sejam mostrados na query.
A query do Jonathan retorna exatamente o que pretendes: todos os registos cujo valor é igual ao máximo valor da tabela, seja 1 ou sejam 50.
Criado 15 de junho de 2017
Ultima resposta 16 de jun. de 2017
Respostas 3
Participantes 3
Alura O que é Python? — um guia completo para iniciar nessa linguagem de programação Acesse agora o guia sobre Python e inicie sua jornada nessa linguagem de programação: o que é e para que serve, sua sintaxe e como iniciar nela!
Casa do Codigo Engenharia de Prompt para Devs: Um guia para aprender a... Por Ricardo Pupo Larguesa — Casa do Codigo