Мне нужно сделать запрос SQLite для чего-то, что я просто не могу обернуть вокруг себя.
У меня есть таблица базы данных с кучей "проблем". И у каждой «проблемы» есть дата создания и дата разрешения.
id createddate resolutiondate
-------------------------------------------
1 2019-04-18 2019-08-18
2 2019-04-20 2019-04-21
3 2019-05-08 2019-06-05
etc....
Что мне нужно сделать, так это подсчитать, сколько «проблем» в каждом месяце за последние 12 месяцев имело дату создания <= того месяца и где дата принятия решения -> тот месяц. Мне нужна таблица, которая выглядит следующим образом:
Month No. Of Issues Not Resolved But Existed That Month
---------------------------------------------------------------
2019-04 20
2019-05 17
2019-06 15
etc...
Я изо всех сил, потому что мне по сути нужно проверять каждую строку несколько раз, для каждого месяца его созданная дата <= этот месяц, и это не ' еще не решен. Например, подсчет для конкретной проблемы может увеличить значение «Количество проблем» как для апреля 2019 года, так и для мая 2019 года, если он не был решен в течение 2 месяцев. Я не уверен, как проверить все строки несколько раз. </p>
Я должен сделать это в SQLite.
Моя текущая попытка, которая, кажется, не работает:
SELECT * FROM(
SELECT substr(createddate, 1, 7) AS created
FROM {{ project_key }}
GROUP BY substr(createddate, 1, 7)
) a JOIN (
SELECT substr(createddate, 1, 7) AS created,
COUNT(CASE WHEN julianday(substr(resolutiondate, 1, 10)) >= julianday(substr(created, 1, 10)) THEN 1 ELSE NULL END) as "No. Issues Not Resolved"
FROM {{ project_key }}
GROUP BY substr(createddate, 1, 7)
) b ON b.created = a.created