mysql 一行转多行

最近刚开始学mysql  ,网上开始找mysql 开发的习题,现有这个:

mysql 一行转多行_第1张图片


实现方法:


select tid,bdate,edate,DATE_ADD(bdate,INTERVAL b.help_topic_id MONTH) ,b.help_topic_id+1  from (
select 'a1' tid, DATE_FORMAT('2014-07-15','%Y-%m-%d') bdate ,DATE_FORMAT('2014-10-15','%Y-%m-%d') edate 
union all 
select 'a2',DATE_FORMAT('2015-03-02','%Y-%m-%d') bdate ,DATE_FORMAT('2015-07-02','%Y-%m-%d') edate ) a 
join mysql.help_topic b
on b.help_topic_id  < month(edate)-month(bdate)+1 
order by tid,b.help_topic_id

mysql 一行转多行_第2张图片

你可能感兴趣的:(mysql)