Вие сте доста близо. Когато работите с корелирани подзаявки, винаги използвайте псевдоними на таблици, за да сте абсолютно ясни откъде идват колоните:
select S.Date, Unit_price,
(SELECT min(s2.Unit_Price)
FROM table s2
WHERE s2.DATE BETWEEN s.DATE - interval 3 day and
s.DATE - interval 1 day
) as min_price_3_days
FROM table S;