Bạn có thể nhận giá cách đây 5 ngày bằng cách sử dụng truy vấn con tương quan. Trên thực tế, bạn có thể nhận được giá gần đây nhất theo cùng một cách. Vì vậy, đây có thể là con đường đúng:
select s.*,
(select p.close
from prices p
where p.id = s.id
order by date desc
limit 1
) as Close,
(select p.close
from prices p
where p.id = s.id and p.date <= date(now()) - interval 5 day
order by date desc
limit 1
) as Close_5
from stocks s
having Close > Close_5;