У меня есть запрос, который подсчитывает количество записей в таблице, содержащей количество билетов на ремонт, и в результате получается количество билетов на ремонт по компании, которые были завершены. Пример; Код компании | CompnayName | CountOfTickets

SELECT 
Incident.CompanyCode, Count(Incident.CompanyCode) AS IncCount
FROM 
Incident
GROUP BY
Incident.CompanyCode, Incident.IncidentType, Incident.IncidentClosed
HAVING
(((Incident.IncidentType)="On - Site") AND 
((Incident.IncidentClosed)=True));

Теперь то, что я испытываю с трудом, чтобы моя голова была обернута вокруг это, это. Каждая из подсчитываемых записей имеет поле для пометки билета как соответствующего SLA. Поле представляет собой текстовое поле с буквой "Y" или "N".

Я пытаюсь подсчитать количество записей в приведенном выше запросе, которое соответствует критериям "Y" или "N", а затем разделить полученный результат на счет основного запроса, чтобы получить процент ремонт билетов, которые соответствуют критериям. Таким образом, из x количества билетов на ремонт компании xyz, x% выполнили SLA.

Я знаю, что это, вероятно, будет включать подзапрос, но я не уверен, как его кодировать или где разместить подзапрос.

Я хотел бы получить результат как часть той же таблицы результатов, т.е. Код компании | CompnayName | CountOfTickets | % Met SLA

Я не знаю, будет ли решение простым или нет, но я уже некоторое время работаю над этим и просто не вижу его.

Любая помощь будет высоко оценен.

Спасибо, что нашли время, чтобы просмотреть этот пост и за любую помощь, которая предоставляется.

Greg

1 ответ1

0
SELECT 
    CompanyName, 
    CompanyCode, 
    Count(*), 
    Sum(iif(MetSLA, 1, 0))/Count(*) * 100
FROM 
    Incident
WHERE 
    IncidentType = "On - Site" 
    AND IncidentClosed = Yes
GROUP BY 
    CompanyName, CompanyCode;

Объяснение: Sum(iif(MetSLA, 1, 0)) эффективно подсчитывает строки, в которых установлен флаг MetSLA (true/yes). Sum применяется как агрегатная функция после группировки строк (как Count ). Таким образом, вы получаете количество строк MetSLA = yes в процентах от количества строк для этой компании (поскольку группировка осуществляется по компании).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .