Mostrar mais de um valor Máximo num select no mysql

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.

Use subquery, exemplo:

SELECT * FROM table WHERE columns_valor = (SELECT MAX(columns_valor) FROM table) ;

1 curtida

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.