Автор: | О. Константинов | Ограничение времени: | 1 сек | |
Входной файл: | test.sql | Ограничение памяти: | 256 Мб | |
Выходной файл: | test.log |
В сервисных центрах ИТ-компаний активно используется система управления инцидентами.
Клиенты СЦ создают задачи task
, где описывают возникшие проблемы и отправляют их
сотрудникам СЦ. Задача имеет статус, который отражает степень её выполнения.
Только что поступившая задача от клиента помечается как "new", когда задача
полностью выполнена, сотрудники СЦ переводят её в статус "completed".
Задача может находиться в любом статусе несколько раз, количество статусов не ограничено.
Аналитик СЦ хочет оценить эффективность других сотрудников СЦ. Для это необходим
SQL-запрос который возвращает совокупное количество задач в статусах "new" и "completed"
для каждого дня за последние 30 дней (считать от времени создания последней задачи)
в порядке следования дат в календаре. Требуется составить данный запрос.
Результатом выполнения запроса должен быть список кортежей (date,
number_of_new, number_of_completed)
отсортированный по возрастанию значений поля
date
и содержащий количество задач в статусах "new" и "completed", построенных
за каждый день функционирования системы в течении 30 дней с даты самой актуальной
задачи. Если одна и та же задача перешла в два разных статуса
в один момент времени, то учитывается переход с максимальным id
записи.
Описание полей запроса:
date
- дата формирования сводной статистики в формате YYYY-MM-DD;
number_of_new
- количество заявок в статусе "new" на 23:59:59 дня date
;
number_of_completed
- количество заявок в статусе "completed" на 23:59:59 дня date
.
Решение следует представить в виде текстового файла, содержащего единственный SQL-запрос.
2017-12-29 | 1 | 0 |
2018-01-01 | 1 | 0 |
2018-01-02 | 2 | 0 |
Полагается, что для работы с базой данных используется SQLite3.