Fórum Função de agregação MAX() #562900

24/09/2016

0

Boa tarde, pessoal!

Utilizo o xampp versão windows 5.6.24

Quando faço uma consulta utilizando a função de agregação MAX(), ele exibe o valor correto, o problema são os outros campos que peço para exibir.

Segue exemplo:



create table alunos (
     id int,
     nome varchar(50),
     dtNascimento date,
     peso decimal(5,2),
     sexo char(2)
) PRIMARY KEY (id);

insert into alunos values 

     (null, 'Filipe', '1999-09-11', '75.8','m'),
     (null, 'Joao',  '1972-11-11', '79','m'),
     (null, 'Juliana', '1987-04-15', '81.9','f'),
     (null, 'Renato', '1977-10-27', '90','m');

Select * from alunos order by peso desc;

id   |        nome |     dtNascimento |  peso | sexo

4        Renato         1977-10-27       90       m
3        Juliana         1987-04-15       81.9     f
2        Joao             1972-11-11       79       m
1        Filipe            1999-09-11       75.8    m

select id, nome, max(peso) from alunos;

1      Filipe      90     // deveria ser exibido o id 4 e o nome Renato que correspondem ao campo peso do valor 90



Alguém mais passou por isso? É problema no mysql/xampp?

Agradeço a atenção!
Filipe Silva

Filipe Silva

Responder

Post mais votado

24/09/2016

Obrigado pela atenção Dirceu Morais!

Então, o maior motivo em abrir o tópico, foi pra saber se o a minha consulta está errada ou é bug no mysql.

Eu até estou consultando dessa forma

select id, nome from alunos
order by alunos desc
limit 1;


abraço!


Ops!

select id, nome, peso from alunos
order by peso desc
limit 1;

Filipe Silva

Filipe Silva
Responder

Gostei + 1

Mais Posts

24/09/2016

Dirceu Morais

Tente usar assim:

select a1.id, a1.nome, a1.peso from alunos a1 Where a1.id = (Select First 1 a2.id from Alunos a2 Order by a2.id desc)
Responder

Gostei + 0

24/09/2016

Filipe Silva

Obrigado pela atenção Dirceu Morais!

Então, o maior motivo em abrir o tópico, foi pra saber se o a minha consulta está errada ou é bug no mysql.

Eu até estou consultando dessa forma

select id, nome from alunos
order by alunos desc
limit 1;


abraço!
Responder

Gostei + 0

26/09/2016

Jones Granatyr

Como você está utilizando função de agrupamento (max), precisa também ter a cláusula group by
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar