GROUP 절
GROUP 절을 사용하면 WMI가 이벤트 그룹을 나타내는 단일 알림을 생성합니다. 대표 알림은 __AggregateEvent 시스템 클래스의 인스턴스입니다. __AggregateEvent 시스템 클래스에는 대표 및 NumberOfEvents두 가지 속성이 포함되어 있습니다. Representative 속성은 WITHIN 절지정된 그룹화 간격 동안 수신된 인스턴스 중 하나를 포함하는 포함된 개체입니다. 예를 들어 인스턴스 수정 이벤트를 알리기 위해 집계 이벤트가 생성되는 경우 담당자__InstanceModificationEvent 클래스의 인스턴스 하나가 포함됩니다. NumberOfEvents 속성에는 그룹화 간격 동안 수신된 이벤트 수가 포함됩니다. 그룹화 간격은 WMI가 유사한 이벤트를 수집해야 하는 초기 이벤트를 받은 후의 기간을 지정합니다.
GROUP 절은 그룹화 간격을 지정하는 WITHIN 절을 포함해야 하며 BY 또는 HAVING 키워드 또는 둘 다를 포함할 수 있습니다. GROUP 절은 다음과 같이 WHERE 절 다음에 배치됩니다.
SELECT * FROM EventClass [WHERE property = value]
GROUP WITHIN interval [BY property_list]
[HAVING NumberOfEvents operator integer]
EventClass 값은 이벤트가 멤버인 이벤트 클래스이며, 값은 알림이 필요한 속성의 값입니다. 간격은 첫 번째 이벤트를 받은 후의 그룹화 간격을 나타내는 부호 없는 정수입니다. 부호 없는 정수는 몇 초입니다. 속성 목록은 이벤트 클래스에 포함된 하나 이상의 속성에 대한 쉼표로 구분된 목록입니다. 연산자 관계형 연산자입니다. 및 정수 여러 이벤트를 나타내는 부호 없는 32비트 정수입니다.
GROUP 절을 사용하는 경우 WHERE, BY 및 HAVING 절은 선택 사항입니다.
GROUP 절을 기본적으로 사용하면 첫 번째 이벤트가 수신될 때 시작되는 시간 간격 내에 이벤트 그룹화가 요청될 수 있습니다. 예를 들어 다음 쿼리는 5분 이내에 전송된 모든 전자 메일 이벤트를 그룹화합니다. 영구 소비자는 새 전자 메일을 받을 때마다 사용자를 페이징하는 대신 이 쿼리를 사용하여 지난 5분 이내에 새 전자 메일을 받은 경우에만 사용자에게 알릴 수 있습니다.
SELECT * FROM EmailEvent GROUP WITHIN 300
자세한 정보가 필요한 경우 이벤트 클래스의 하나 이상의 속성을 사용하여 이벤트를 그룹화할 수 있습니다. 다음 쿼리는 전자 메일 이벤트를 Sender 속성에 동일한 값을 가진 다른 이벤트와 결합할 것을 요청합니다.
SELECT * FROM EmailEvent GROUP WITHIN 300 BY Sender
WHERE 절을 추가하여 더 높은 수준의 세부 정보를 달성할 수 있습니다. 예를 들어 다음 쿼리는 지난 10분 이내에 도착한 특정 보낸 사람의 새 전자 메일을 사용자에게 알리고 중요도 속성에 동일한 값을 가진 다른 이벤트와 결합합니다.
SELECT * FROM EventClass WHERE Sender = "MyBoss"
GROUP WITHIN 300 BY Importance