Cláusula Group By

Utilice la cláusula GROUP BY para agregar los datos por una o más columnas. Para proporcionar resultados significativos de la agregación, normalmente, la agregación de datos se combina con funciones de agregación en las columnas restantes.

Ejemplos de cláusulas GROUP BY

El ejemplo de consulta siguiente muestra las direcciones IP que han enviado más de 1 millón de bytes dentro de todos los flujos en un tiempo específico.

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

Los resultados pueden tener un aspecto similar a la salida siguiente.

-----------------------------------
| 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 |
-----------------------------------

Sin embargo, si compara esta información con una consulta no agregada, la salida muestra todas las direcciones IP que son exclusivas, tal como se muestra en la salida siguiente:

------------------------------
| 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 |
------------------------------

Para ver el número máximo de sucesos, utilice la sintaxis siguiente:

SELECT MAX(eventCount) FROM events

Para ver el número de sucesos promedio de una IP de origen, utilice la sintaxis siguiente:
SELECT AVG(eventCount), PROTOCOLNAME(protocolid) 
FROM events 
GROUP BY sourceIP

La salida muestra los resultados siguientes:

---------------------------------
| 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 |
---------------------------------