Използвайте 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;
Имайте предвид, че вече изтритият отговор, даден от @NiVeR, би бил достатъчен, ако искаме само максималната дата за всеки акаунт. Ако се нуждаем и от стойността или като цяло от други колони от всеки запис, тогава ще трябва да направим допълнително свързване или да използваме номера на реда, както направих по-горе.
Вижте Демо на SQL Fiddle .