サブクエリを使用してmax(date)for eachを取得productし、テーブルに結合することができます。
select v1.product,
v1.price,
v1.date
from vegetables v1
inner join
(
select product, max(date) MaxDate
from vegetables
group by product
) v2
on v1.product = v2.product
and v1.date = v2.maxdate;
SQL Fiddle with Demoを参照してください(デモは SQL Server ですが、構文は有効である必要があります)。
お使いの Sybase のバージョンがウィンドウ関数をサポートしている場合は、次を使用できます。
select product, price, date
from
(
select product, price, date,
row_number() over(partition by product order by date desc) rn
from vegetables
) v
where rn = 1;
デモで SQL Fiddle を参照してください