Ajuda select MySQL

Colegas,

Tenho uma tabela assim:

id id_vendedor data_venda
1 1 2010-09-01
2 1 2010-09-28
3 2 2010-09-07

Preciso de um select que me retorne a última data_venda de cada vendedor.
Nesse exemplo deveria retornar os registros com id 2 e 3.

Vc pode me ajudar?

Muito obrigado,

Marques

Tente assim:

select max(data_venda) from Funcionario f where f.id_vendedor = 2;
select max(data_venda) from Funcionario f where f.id_vendedor = 3;

[]s

Vê se assim ele vai dar certo:

select max(data_venda) from Funcionario f where f.id_vendedor = 1; select max(data_venda) from Funcionario f where f.id_vendedor = 2;

Acho que assim ele te retornará as ultimas vendas em relação a ultima venda dos vendedores.

Já da maneira que o ‘Guevara’ colocou, ele não retornará nada, pois não existe um id_vendedor = 3 e sim os id_vendedor = 1 e 2!!

no caso de muitos funcionários ^^ – veja se funciona

select * from Funcionario where data_venda=(select max(data_venda) from Funcionario );

É, o 3 para id_vendedor não existe, é pq eu tinha colocado id apenas, ai percebi que era id_vendedor, mas esqueci de alterar o 3 para 2. =)

Agora dependerá somente de sua necessidade Marques…

Mais mesmo se você for usar somente os 2 vendedores, é mais interessante utilizar da forma que o andre.froes colocou, pois caso precise depois acrescentar mais funcionários, não precisa criar um select para cada funcionário!

select max(data_venda) 
from Funcionario 
GROUP BY id_vendedor    

Ele retorna somente o registro com a maior data existente no bancoe naum a maior data de cada vendedor....

Ele retorna somente o registro com a maior data existente no bancoe naum a maior data de cada vendedor…