Я пытаюсь создать запрос, который даст мне открытые билеты & закрыт в указанный период времени, сгруппированный по неделям. У кого-нибудь есть идеи о том, как я мог это сделать?Комбинат 2 запроса количества запросов MYSQL из той же таблицы
Если я изменяю ссылку времени от T1.closed
вместо T1.opened
, я получаю правильную группировку для одного столбца, но не другого.
ниже - это то, что у меня есть до сих пор.
SELECT
FROM_DAYS(TO_DAYS(T1.created) -MOD(TO_DAYS(T1.created) -1, 7)) as week,
COUNT(T1.created) as Opened, COUNT(T2.ticket) as Closed
FROM issues as T1
LEFT JOIN issues T2 on T1.ticket = T2.ticket AND T1.closed
BETWEEN (DATE_SUB(CURDATE(), INTERVAL 2 MONTH))
AND (DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) AND T1.closed IS NOT NULL
WHERE
T1.created > (DATE_SUB(CURDATE(), INTERVAL 2 MONTH))
AND
T1.created < (DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
GROUP BY
week
Используйте 'SUM' оператора' CASE'. Это полностью отрицает необходимость объединения. 'COUNT' действительно не то, что вам нужно здесь. Я нашел «COUNT» редко, что вам нужно. – Avarkx
Я рассмотрю, как применить это здесь. Я новичок, но я думал, что SUM будет искать # в поле, которое нужно добавить, и что на это время ссылаются, я не был уверен, что это сработает. – user3288534