Du har enten brug for en GROUP BY-klausul eller en mere kompleks forespørgsel.
SELECT field1, MAX(updated_date)
FROM mytable
GROUP BY field1
For eksempeldataene vil dette returnere 3 rækker.
Mere sandsynligt vil du have:
SELECT t1.field1, t3.max_date
FROM mytable AS t1
JOIN (SELECT MAX(t2.updated_date) AS max_date
FROM mytable AS t2
) AS t3
ON t1.updated_date = t3.max_date;
For eksempeldataene vil dette returnere 1 række:
ta3 2012-03-11 11:05:56
Af de store DBMS'er er det kun MySQL, der tillader dig at udelade GROUP BY-sætningen, når du har en blanding af aggregater og ikke-aggregerede kolonner i valglisten. SQL-standarden kræver GROUP BY-udtrykket, og du skal angive alle ikke-aggregerede kolonner i den. Nogle gange, i MySQL, giver udeladelse af GROUP BY-sætningen det svar, du ønsker; så ofte som ikke, lykkes det dog at give et uventet svar.