Anda juga memerlukan klausa GROUP BY atau kueri yang lebih kompleks.
SELECT field1, MAX(updated_date)
FROM mytable
GROUP BY field1
Untuk data sampel, ini akan mengembalikan 3 baris.
Kemungkinan besar, Anda ingin:
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;
Untuk data sampel, ini akan mengembalikan 1 baris:
ta3 2012-03-11 11:05:56
Dari DBMS utama, hanya MySQL yang memungkinkan Anda untuk menghilangkan klausa GROUP BY ketika Anda memiliki campuran kolom agregat dan non-agregat dalam daftar pilih. Standar SQL memerlukan klausa GROUP BY dan Anda harus mencantumkan semua kolom non-agregat di dalamnya. Terkadang, di MySQL, menghilangkan klausa GROUP BY menghasilkan jawaban yang Anda inginkan; sesering tidak, ia berhasil memberikan jawaban yang tidak terduga.