HAVING 子句

在查詢中使用 HAVING 子句,透過將過濾器套用至 GROUP BY 子句之後的結果,將更多過濾器套用至特定資料。

HAVING 子句遵循 GROUP BY 子句。

當您在查詢中使用 HAVING 子句時,可以套用下列過濾器:

  • 等號 (=)
  • 不等於符號 (<>)
  • 小於符號 (<)
  • 大於符號 (>)
  • 小於或等於符號 (<=)
  • 大於或等於符號 (>=)
  • 兩個值之間的 BETWEEN ,例如 (64 AND 512)
  • LIKE 區分大小寫相符
  • ILIKE 不區分大小寫相符
  • SUM/AVG 總計或平均值
  • MAX/MIN 最大值或最小值

HAVING 子句範例

下列查詢範例顯示在過去 24 小時內從四個以上 IP 位址 (HAVING 'Count of Source IPs' > 4) 觸發 VPN 事件之使用者的結果。

SELECT username, UNIQUECOUNT(sourceip) AS 'Count of Source IPs' 
FROM events
WHERE LOGSOURCENAME(logsourceid) ILIKE '%vpn%' 
AND username IS NOT NULL
GROUP BY username 
HAVING "Count of Source IPs" > 4 
LAST 24 HOURS
附註: 當您鍵入 AQL 查詢時,請使用單引號來進行字串比較,並使用雙引號來進行內容值比較。

下列查詢範例顯示可靠性 (HAVING credibility > 5) 大於 5 之事件的結果。

SELECT username, sourceip, credibility 
FROM events
GROUP BY sourceip
HAVING credibility > 5 
LAST 1 HOURS

下列查詢會依來源 IP 來分組結果,但只會顯示長度 (HAVING magnitude > 5) 大於 5 的結果。
SELECT sourceIP, magnitude
FROM events 
GROUP BY sourceIP
HAVING magnitude > 5