Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak znaleźć Top Losers na 1 dzień, 1 miesiąc na podstawie danych historycznych?

Możesz zrobić coś takiego*:

select * from (select symbol_name , (prevclose_val-close_val) as losers,'daily' as `type` from historical_data where current_day >= '2015-12-14' order by losers asc limit 10 ) as sub_daily
union
select * from (select symbol_name , (prevclose_val-close_val) as losers,'weekly' as `type` from historical_data where current_day >= '2015-12-7' order by losers asc limit 10 ) as sub_weekly
union
select * from (select symbol_name , (prevclose_val-close_val) as losers,'monthly' as `type` from historical_data where current_day >= '2015-11-14' order by losers asc limit 10 ) as sub_monthly;

Przy okazji, naprawdę powinieneś zmienić swoje pole daty z „varchar” na „DATE” lub „DATETIME” i użyć yyyy-mm-dd format dla twoich dat. W ten sposób możesz używać MySQL do wykonywania obliczeń w swoim dniu.

* to zapytanie wymaga Twojego current_day pole na date lub datetime typ.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kolumny przyrostu w laraveli

  2. ServiceStack.OrmLite:gdzie jest metoda pisania niestandardowego kodu SQL i przywracania wyników?

  3. Jak mogę zmienić rozmiar kolumny w tabeli MySQL?

  4. Własne sprzężenie i selekcja rekurencyjna w tabeli

  5. Pobieranie danych z bazy danych MySQL do listy rozwijanej html