Mysql
 sql >> Base de données >  >> RDS >> Mysql

MYSQL sélectionne la requête renvoie la liste des mois sous forme de chaîne entre la date de début et la date de fin

La requête ci-dessous devrait faire l'affaire.

Vos données en entrée et en sortie sont différentes pour la 2ème ligne, je l'ai exécutée pour les données de sortie

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;