SQL - Laid combinaison de GROUPE PAR et se rejoignent

J'ai une table avec des données semblables au suivant:

[ID], [État], [foo], [DateCreated], [DateUpdated]

Plus je travaille sur ce, la plus laide my SQL, qui me dit que je suis probablement fait quelque chose de mal. Ce que je veux, c'est une liste unique de chaque État aussi longtemps que foo est toujours le même pour que l'État (si toto n'est pas la même pour tous les enregistrements dans cet État, je ne veux pas que l'État à tous). Aussi, je tiens à FUSIONNER DateCreated et DateUpdated et veulent le maximum de valeur pour l'État.

Donc, compte tenu des données:

[ID], [State], [foo], [DateCreated], [DateUpdated]
1,  MA, data1,  05/29/2012, 06/02/2012
2,  MA, data1,  05/29/2012, 06/03/2012
3,  RI, data2,  05/29/2012, NULL
4,  RI, data3,  05/29/2012, NULL
5,  NH, data4,  05/29/2012, NULL
6,  NH, data4,  05/29/2012, 06/05/2012

Je voudrais seulement ces résultats:

[State], [foo], [LastUpdated]
MA, data1,  06/03/2012
NH, data4,  06/05/2012

Ce qui est la façon la plus élégante pour obtenir ce que je suis après?

vous n'êtes autorisé à utiliser les vues?
Je peux créer des vues.
"Plus je travaille sur ce, la plus laide my SQL, qui me dit que je suis probablement fait quelque chose de mal." Pourquoi vous sentez-vous de cette façon? MySQL est la même langue que vous fait faire un produit cartésien juste pour trouver l'unicité, après tout...

OriginalL'auteur Scott K | 2012-07-10