Mysql
 sql >> база данни >  >> RDS >> Mysql

MYSQL избира списък за връщане на заявка от месеци като низ между начална/крайна дата

Заявката по-долу трябва да свърши работа.

Вашите данни във входа и изхода са различни за 2-ри ред, аз го стартирах за изходни данни

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;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да получа първия ден от всеки съответен месец в mysql?

  2. Мога ли да наложа условно ограничение за уникалност?

  3. Разделени със запетая стойности и заместващи знаци в mysql

  4. Как мога да намеря всички братя и сестри на моя възел и неговите предшественици в йерархично дърво на категории?

  5. Защо MySQL позволява групиране по заявки БЕЗ агрегатни функции?