#mysql #sql
#mysql #sql
Вопрос:
Я создаю отчет о старении для ошибок, открытых для «30-60 дней», «60-90 дней», «3-6 месяцев» и «6 месяцев» для каждого квартала. Если ошибка была создана в Q-1 и все еще открыта в Q-2, и если она удовлетворяет вышеуказанному условию, ее следует учитывать в вышеуказанных сегментах для Q-2
select Category,
SUM(CASE WHEN Bugs_open_days > 29 and Bugs_open_days < 61 THEN 1 ELSE 0 END) as bucket_30_60,
SUM(CASE WHEN Bugs_open_days > 60 and Bugs_open_days < 91 THEN 1 ELSE 0 END) as bucket_60_90,
SUM(CASE WHEN Bugs_open_days > 90 and Bugs_open_days < 181 THEN 1 ELSE 0 END) as bucket_3_6,
SUM(CASE WHEN Bugs_open_days >= 181 THEN 1 ELSE 0 END) as bucket_6monthplus
from (
select Created_Quarter,
Category,
bug_id,
Resolved_Count_In_Days,
Resolved_Count_In_Days - 1 as Bugs_open_days
from TableA)
group by 1
On Date Category 30-60 days 60-90 days 3-6 months 6 months
2018-03-31 P 0 0 0
2018-03-31 G 6 5 0 0
2018-03-31 W 4 10 0 0
2018-03-31 GM 16 12 0 0
2018-03-31 null 3 2 0 0
2018-06-30
2018-06-30
2018-06-30
2018-06-30
2018-06-30
2018-06-30
2018-09-30
2018-09-30
2018-09-30
2018-09-30
2018-09-30
2018-09-30
2018-12-31
2018-12-31
2018-12-31
2018-12-31
2018-12-31
2018-12-31
2019-03-31
2019-03-31
2019-03-31
2019-03-31
2019-03-31
2019-03-31
Комментарии:
1. 1) MySQL и SQL Server — это разные СУБД. Какой из них вы используете? 2) Ваш ожидаемый результат, похоже, вообще не соответствует вашему запросу. Чего вы действительно ожидаете?
2. Я использую MySQL, хотел получить помощь в создании запроса для получения желаемого результата
3. Если ошибка была создана 1/1/2019 и была закрыта 30.04.2019, это будет около 89 дней, когда ошибка была открыта. В конце Q1 вы бы включили это в
30-60 days
, правильно? В конце Q2 вы бы сообщили об этом в60-90 days
?4. ДА… на основе конца каждого квартала мне нужен статус