sql >> Databasteknik >  >> RDS >> Mysql

MySQL-fråga som jämför värden med tidigare raders värden

Du kan få priset för 5 dagar sedan med en korrelerad underfråga. Faktum är att du kan få det senaste priset på samma sätt. Så det här kan vara rätt väg:

  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;



  1. ORA-02070:databas stöder inte i detta sammanhang

  2. Avstånd i meter mellan två Spacial Points i MySQL-fråga

  3. Förstå kartesiska produkter i SQL

  4. Fel vid skapande av tabell