GROUP BY

La adición GROUP BY permite combinar grupos de filas que tienen el mismo contenido en sus columnas en una sola fila. Esta lección trata de enseñarle cómo aplicar correctamente GROUP BY en la sentencia de lectura SELECT.

  • Sintaxis

… GROUP BY { {col1 col2 …} | (column_syntax) } … .

  • Efecto

La adición GROUP BY combina grupos de filas que tienen el mismo contenido en sus columnas especificadas col1 col2 … en el conjunto resultante en una sola fila.
El uso de GROUP BY tiene el requisito previo de que la sentencia SELECT utilice solo columnas individuales, no todas las columnas. Si se utiliza GROUP BY, todas las columnas que se especifican directamente después de SELECT y no se especifican como un argumento de una función agregada deben estar listadas en el GROUP BY. Esto significa que las columnas que no se enumeran después de GROUP BY sólo se pueden enumerar después de SELECT como el argumento de una función agregada. Las funciones de agregación definen cómo se determina el contenido de estas columnas en la fila combinada a partir del contenido de todas las filas de un grupo.
Las columnas especificadas después de GROUP BY no pueden ser del tipo STRING o RAWSTRING.

  • Aplicación práctica

En un programa ejecutable realizamos una selección de datos en la tabla ZSFLIGHTSA00001 obteniendo el contador de los registros agrupados por el código de la compañía aérea de la columna CARRID, es decir ¿Cuántos registros existen en la tabla para cada compañía aérea?
La tabla de base de datos contiene los siguientes registros:

  1. Implementamos el código fuente.
  2. Ejecutamos el programa.

Notas

  • La adición GROUP BY no se puede especificar para tablas pool y cluster.
  • Con el uso de GROUP BY, la instrucción SELECT evita el buffer de SAP.
  • Si una columna especificada después de GROUP BY contiene valores nulos en el conjunto de resultados, estos valores no forman parte del grupo de valores iniciales específicos de ABAP y, en su lugar, crean un grupo distinto.
  • El uso de las funciones GROUP BY y de agregación garantiza que los agregados y los grupos sean ensamblados por el sistema de base de datos y no por el servidor de aplicaciones. Esto puede reducir considerablemente el volumen de datos que se tiene que transportar de la base de datos al servidor de aplicaciones.
  • La clase CL_ABAP_DYN_PRG contiene métodos que admiten la creación de especificaciones de columnas dinámicas correctas y seguras.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Suscríbete al blog
Recibe las últimas actualizaciones y contenidos exclusivos directamente en tú correo electrónico.
Inscribime
close-link