Clause Group By
Utilisez la clause GROUP BY pour agréger vos données par une ou plusieurs colonnes. Pour fournir des résultats significatifs de l'agrégation, généralement, l'agrégation de données est combinée à des fonctions d'agrégation sur les colonnes restantes.
Exemples de clauses GROUP BY
L'exemple de requête suivant montre les adresses IP qui ont envoyé plus d'un million d'octets dans tous les flux d'une heure spécifique.
SELECT sourceIP, SUM(sourceBytes)
FROM flows where sourceBytes > 1000000
GROUP BY sourceIPLes résultats peuvent ressembler à ceux de la sortie suivante.
-----------------------------------
| 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 |
-----------------------------------Toutefois, si vous comparez ces informations à une requête non agrégée, la sortie affiche toutes les adresses IP uniques, comme illustré dans la sortie suivante :
------------------------------
| 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 |
------------------------------Pour afficher le nombre maximal d'événements, utilisez la syntaxe suivante :
SELECT MAX(eventCount) FROM eventsPour afficher le nombre d'événements moyens provenant d'une adresse IP source, utilisez la syntaxe suivante :
SELECT AVG(eventCount), PROTOCOLNAME(protocolid)
FROM events
GROUP BY sourceIPLa sortie affiche les résultats suivants :
---------------------------------
| 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 |
---------------------------------