How to get the greatest element of a GROUP BY?
Probably easiest to do with a join against a derived table:

select a.* 
from PurchaseOrders as a 
join ( 
    select sku, max(date) as date
    from PurchaseOrders
    group by sku
) as b 
   on a.sku = b.sku 
   and a.date = b.date;


The derived table b contains the max dt for each sku. To get the id we join that against the original table. 

As Evan Carroll points out you can shorten this a bit since the name of the join attributes is the same for both left and right operand:

select a.* 
from PurchaseOrders as a 
join ( 
    select sku, max(date) as date
    from PurchaseOrders
    group by sku
) as b 
   using (sku, date);