Você poderia fazer algo assim*:
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 propósito, você deve realmente alterar seu campo de data de "varchar" para "DATE" ou "DATETIME" e usar
yyyy-mm-dd
formato para suas datas. Dessa forma, você pode usar o MySQL para fazer cálculos em sua data. * esta consulta requer seu
current_day
campo para ser uma date
ou datetime
modelo.