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.