Gunakan ROW_NUMBER
:
SELECT account, "date", "value"
FROM
(SELECT
account, "date", "value",
ROW_NUMBER() OVER (PARTITION BY account ORDER BY "date" DESC) rn
FROM yourTable
) t
WHERE rn=1;
Perhatikan bahwa jawaban yang sekarang dihapus yang diberikan oleh @NiVeR akan cukup jika kami hanya menginginkan tanggal maksimum untuk setiap akun. Jika kita juga membutuhkan nilai, atau secara umum kolom lain dari setiap record, maka kita harus melakukan join tambahan, atau menggunakan nomor baris seperti yang saya lakukan di atas.
Lihat Demo di SQL Fiddle .