Group By Clause

Verwenden Sie die Klausel GROUP BY, um Ihre Daten anhand einer oder mehrerer Spalten zu aggregieren. Um aussagekräftige Ergebnisse der Aggregation bereitzustellen, wird die Datenaggregation in der Regel mit Aggregatfunktionen für die übrigen Spalten kombiniert.

Beispiele für GROUP BY-Klauseln

Das folgende Abfragebeispiel zeigt IP-Adressen, die mehr als 1 Million Byte in allen Datenflüssen zu einem bestimmten Zeitpunkt gesendet haben.

SELECT sourceIP, SUM(sourceBytes) 
FROM flows where sourceBytes > 1000000 
GROUP BY sourceIP

Die Ergebnisse können der folgenden Ausgabe ähneln.

-----------------------------------
| sourceIP | SUM_sourceBytes |
-----------------------------------
| 192.0.2.0 | 4282590.0 |
| 10.105.2.10 | 4902509.0 |
| 10.103.70.243 | 2802715.0 |
| 10.103.77.143 | 3313370.0 |
| 10.105.32.29 | 2467183.0 |
| 10.105.96.148 | 8325356.0 |
| 10.103.73.206 | 1629768.0 |
-----------------------------------

Wenn Sie diese Informationen jedoch mit einer nicht aggregierten Abfrage vergleichen, werden in der Ausgabe alle eindeutigen IP-Adressen angezeigt, wie in der folgenden Ausgabe dargestellt:

------------------------------
| sourceIP | sourceBytes |
------------------------------
| 192.0.2.0 | 1448629 |
| 10.105.2.10 | 2412426 |
| 10.103.70.243 | 1793095 |
| 10.103.77.143 | 1449148 |
| 10.105.32.29 | 1097523 |
| 10.105.96.148 | 4096834 |
| 192.0.2.0 | 2833961 |
| 10.105.2.10 | 2490083 |
| 10.103.73.206 | 1629768 |
| 10.103.70.243 | 1009620 |
| 10.105.32.29 | 1369660 |
| 10.103.77.143 | 1864222 |
| 10.105.96.148 | 4228522 |
------------------------------

Verwenden Sie die folgende Syntax, um die maximale Anzahl von Ereignissen anzuzeigen:

SELECT MAX(eventCount) FROM events

Verwenden Sie die folgende Syntax, um die Anzahl der durchschnittlichen Ereignisse von einer Quellen-IP anzuzeigen:
SELECT AVG(eventCount), PROTOCOLNAME(protocolid) 
FROM events 
GROUP BY sourceIP

Die Ausgabe zeigt die folgenden Ergebnisse an:

---------------------------------
| sourceIP | protocol |
---------------------------------
| 192.0.2.0 | TCP.tcp.ip |
| 10.105.2.10 | UDP.udp.ip |
| 10.103.70.243 | UDP.udp.ip |
| 10.103.77.143 | UDP.udp.ip |
| 10.105.32.29 | TCP.tcp.ip |
| 10.105.96.148 | TCP.tcp.ip |
| 192.0.2.0 | TCP.tcp.ip |
| 10.105.2.10 | ICMP.icmp.ip |
---------------------------------