sql >> Base de Datos >  >> RDS >> Oracle

GROUP BY sin función agregada

Así es como funciona GROUP BY. Toma varias filas y las convierte en una fila. Por eso, tiene que saber qué hacer con todas las filas combinadas donde hay diferentes valores para algunas columnas (campos). Es por eso que tiene dos opciones para cada campo que desea SELECCIONAR:Incluirlo en la cláusula GROUP BY o usarlo en una función agregada para que el sistema sepa cómo desea combinar el campo.

Por ejemplo, supongamos que tiene esta tabla:

Name | OrderNumber
------------------
John | 1
John | 2

Si dice GROUP BY Name, ¿cómo sabrá qué número de pedido mostrar en el resultado? Entonces, incluye OrderNumber en group by, lo que dará como resultado estas dos filas. O bien, utiliza una función agregada para mostrar cómo manejar los números de pedido. Por ejemplo, MAX(OrderNumber) , lo que significa que el resultado es John | 2 o SUM(OrderNumber) lo que significa que el resultado es John | 3 .