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

Come trovare i migliori perdenti per 1 giorno, 1 mese in base ai dati storici

Potresti fare qualcosa del genere*:

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;

A proposito, dovresti davvero cambiare il campo della data da "varchar" a "DATE" o "DATETIME" e utilizzare yyyy-mm-dd formato per le tue date. In questo modo puoi usare MySQL per fare calcoli sulla tua data.

* questa query richiede il tuo current_day campo deve essere una date o datetime digitare.