Vérifier plusieurs lignes de valeur, de retour de ligne uniquement avec MAX/MIN

Je suis en train d'écrire une requête qui va comparer la valeur de N nombre de lignes et de retour uniquement la ligne avec la valeur de max. Par exemple, si je voulais seulement retourner un tableau avec les lignes en double, mais seulement la ligne avec la nouvelle date -

key  | name  | value |   date
 1   | frank |  100  | 1/1/2013
 2   | peter |  200  | 2/1/2013
 3   | jonny |  300  | 3/1/2013
 4   | jonny |  300  | 4/1/2013

Et la requête:

SELECT key, name, value, MAX(date)
FROM myTable
WHERE key IN (1,2,3,4)

Je serais attendent le retour

key  | name  | value |   date
 1   | frank |  100  | 1/1/2013
 2   | peter |  200  | 2/1/2013
 4   | jonny |  300  | 4/1/2013

Je suis pas sûr de la façon d'utiliser GROUP BY, je pense que je suis absent quelque chose de fondamental avec mes tentatives.

OriginalL'auteur Jamie Strauss | 2013-10-04