У нас есть таблица с этой структурой (упрощенно) в Postgresql
obj_id dmin dmax status
1 2012-01-01 2013-08-01 Planned
1 2013-08-01 2015-05-12 Planned
1 2015-05-12 9999-01-01 Active
2 2010-01-01 9999-01-01 Planned
3 2010-01-01 2016-11-01 Planned
3 2016-11-01 9999-01-01 Planned
Каждая строка дает временную запись для каждого объекта. Есть около 1 миллиона строк.
Мне нужен такой результат, как этот
month 01-2010 02-2010 03-2010 04-2010 ....
Planned 12 35 45 45
Active 34 200 340 546
Этот способ дает запланированный / активный для каждого месяца, то есть, где первый день месяца находится в пределах dmin- диапазон dmax.
Я написал (не очень приятно) SQL, чтобы сделать это. Кто-нибудь из вас SQL гуру, который может предложить запрос на кливер SQL, который возвращает эти данные?