2014-02-11 7 views
0

У меня есть таблица SR_Audit, которая содержит все обновления для каждого билета в нашей системе билетов на службу Helpdesk.Query Distinct на одной колонке

Таблица форматируется в соответствии с приведенной ниже репрезентации:

|-----------------|------------------|------------|------------|------------| 
| SR_Audit_RecID | SR_Service_RecID | Audit_text | Updated_By | Last_Update| 
|-----------------|------------------|------------|------------|------------| 
|........PK.......|.......FK.........| 

Я построил ниже запрос, который предоставляет мне соответствующий вывод, что я требую в формате я хочу его. То есть, я ищу, чтобы определить, сколько билетов каждый сотрудник заканчивает каждый день в течение месяца.

select SR_audit.updated_by, CONVERT(CHAR(10),SR_Audit.Last_Update,101) as DateOfClose, count (*) as NumberClosed 
from SR_Audit 
where SR_Audit.Audit_Text LIKE '%to "Completed"%' AND SR_Audit.Last_Update >= DATEADD(day, -30, GETDATE()) 
group by SR_audit.updated_by, CONVERT(CHAR(10),SR_Audit.Last_Update,101) 
order by CONVERT(CHAR(10),SR_Audit.Last_Update,101) 

Однако у запроса есть одна слабость, которую я хочу преодолеть.

Билет может быть вновь открыт после его завершения, что означает, что он может быть завершен снова. Это позволяет персоналу искусственно раздувать свой счет, повторно открывая билет и завершая его снова, тем самым увеличивая количество завершенных билетов на каждый каждый раз, когда они это делают.

В таблице указано поле SR_Service_RecID, которое по сути является номером билета. Я хочу поставить условие в запросе, чтобы каждый билет учитывался только один раз, независимо от того, сколько раз его завершали, все еще соблюдая текущее предложение where.

Я пробовал sub-запросы и несколько других методов, но не смог получить результаты, которые мне нужны.

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

Cheers.

Куртенэ

ответ

0

использование в качестве

COUNT(DISTINCT(SR_Service_RecID)) as NumberClosed 
+0

Точно, что я был после. И красивая в своей простоте - Спасибо! – Courtenay

0

Использование:

COUNT(DISTINCT SR_Service_RecID) as NumberClosed 
+0

Именно то, что я был после. И красивая в своей простоте - Спасибо! – Courtenay

Смежные вопросы