Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MYSQL seleciona lista de retorno de consulta de meses como string entre a data de início/término


A consulta abaixo deve fazer o truque.

Seus dados de entrada e saída são diferentes para a 2ª linha, eu os executei para os dados de saída
select id, DATE_FORMAT(start_Date, '%Y-%c-%d') as Start_Date,
       DATE_FORMAT(end_date,'%Y-%c-%d') as END_Date,
       group_concat( distinct(DATE_FORMAT(aDate, '%Y %M '))) as Descp
from (
     select ss.end_date - interval (a.a ) month as aDate from
     (select 0 as a union all select 1 union all select 2 union all select 3
     union all select 4 union all select 5 union all select 6 union all
     select 7 union all select 8 union all select 9) a, Contracts ss 
     ) mon, Contracts sa
where aDate between sa.start_date and sa.end_date
group by id;