Mysql
 sql >> Database >  >> RDS >> Mysql

Query MySQL che confronta i valori con i valori delle righe precedenti

Puoi ottenere il prezzo 5 giorni fa utilizzando una sottoquery correlata. In effetti, puoi ottenere il prezzo più recente allo stesso modo. Quindi, questa potrebbe essere la strada giusta:

  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;