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 sourceIPDie 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 eventsSELECT AVG(eventCount), PROTOCOLNAME(protocolid)
FROM events
GROUP BY sourceIPDie 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 |
---------------------------------