Solucionar errores de GROUP BY
La tabla siguiente proporciona una lista de mensajes de error de GROUP BY, así como sugerencias para ayudar a resolverlos.
Número de error |
Mensaje de error |
Cómo resolver el error |
---|---|---|
102 |
Sintaxis incorrecta cerca de ','. |
Reescriba la consulta de forma que los conjuntos de agrupaciones figuren en la cláusula GROUP BY como parte de una lista GROUPING SETS explícita. Por ejemplo, GROUP BY C1, (C2,…, Cn) producirá este error. Reescriba la consulta como GROUP BY C1, GROUPING SETS( (C2,…, Cn) ) o GROUP BY C1, C2,…, Cn. |
130 |
No puede realizar una función de agregado en una expresión que contiene un agregado o una subconsulta. |
Reescriba la consulta de forma que el agregado, la función de agrupación o la subconsulta no aparezca como argumento de otra función de agrupación o agregado. |
147 |
Un agregado no puede aparecer en la cláusula WHERE a menos que esté en una subconsulta contenida en una cláusula HAVING o en una lista de selección y la columna que se agrega sea una referencia exterior. |
Elimine la función de agrupación o el agregado de la cláusula WHERE. |
157 |
Un agregado no puede aparecer en la lista SET de una instrucción UPDATE. |
Elimine la función de agrupación o agregado de la lista SET de una instrucción UPDATE. |
158 |
Un agregado no puede aparecer en la cláusula OUTPUT. |
Retire la función de agrupación o el agregado de la cláusula OUTPUT. |
162 |
Expresión no válida en la cláusula TOP. |
Quite la función de agrupación o el agregado de la cláusula TOP. |
174 |
La función GROUPING requiere 1 argumento. |
Modifique la lista de argumentos de la función GROUPING() de manera que haya exactamente 1 argumento. |
175 |
Un agregado no puede aparecer en una expresión de columna calculada o restricción CHECK. |
Elimine la función de agrupación o agregado de las columnas calculadas y restricciones CHECK de la instrucción DDL. |
189 |
La función GROUPING_ID requiere un número de argumentos entre 0 y 32. |
Reduzca el número de argumentos para la función GROUPING_ID() a 32 o menos. |
1015 |
Un agregado no puede aparecer en una cláusula ON a menos que se encuentre en una subconsulta contenida en una cláusula HAVING o en una lista de selección y la columna que se agrega sea una referencia exterior. |
Elimine la función de agrupación o agregado de la cláusula ON. |
1028 |
Las opciones ROLLUP, CUBE y GROUPING SETS no están permitidas en la cláusula GROUP BY ALL. |
Reescriba la consulta de forma que la opción GROUP BY ALL no contenga las palabras clave GROUPING SETS, CUBE, ROLLUP, WITH CUBE o WITH ROLLUP. |
4101 |
Los agregados en el lado derecho de un APPLY no pueden hacer referencia a las columnas del lado izquierdo. |
Retire la función de agrupación o el agregado del lado derecho de la cláusula APPLY. |
4113 |
GROUPING | GROUPING_ID no es una función de selección de ventana válida y no se puede utilizar con la cláusula OVER. |
Reescriba la consulta de forma que las funciones GROUPING() o GROUPING_ID() no se utilicen con una cláusula OVER. |
4142 |
Los agregados no están permitidos en la lista RECEIVE. |
Elimine la función de agrupación o el agregado de la lista RECEIVE. |
5310 |
Los agregados no se permiten en la lista VALUES de una instrucción INSERT. |
Elimine la función de agrupación o agregado de la lista VALUES de una instrucción INSERT. |
8161 |
El argumento [n] de la función [GROUPING | GROUPING_ID] no coincide con ninguna de las expresiones de la cláusula GROUP BY. |
Asegúrese de que cada argumento de la función GROUPING o GROUPING_ID coincide con un elemento de agrupación de la cláusula GROUP BY y de que todos los argumentos de la función GROUPING o GROUPING_ID tienen el mismo ámbito. En el ejemplo siguiente, la referencia a la tabla T (de la consulta principal) en la subconsulta producirá un error.
|
8661 |
No se puede crear el índice clúster <indexname> en la vista <viewname> porque la clave de índice incluye columnas que no están en la cláusula GROUP BY. Considere la eliminación de la clave de índice de las columnas que no estén en la cláusula GROUP BY. |
No se puede crear una vista indizada cuando la definición de vista contiene una cláusula GROUP BY que sólo contiene el elemento (), total general. |
10119 |
No se puede crear el índice clúster <indexname> en la vista <viewname> porque contiene un operador CUBE, ROLLUP o GROUPING SETS. Considere la opción de no indizar esta vista. |
No se puede crear una vista indizada cuando la definición de la vista contiene una cláusula GROUP BY general. |
10702 |
Las opciones WITH CUBE y WITH ROLLUP no están permitidas en la especificación de ROLLUP, CUBE o GROUPING SETS. |
Reescriba la consulta de manera que no haya ninguna combinación de las palabras clave no compatibles con ISO WITH CUBE o WITH ROLLUP y las palabras clave compatibles con ISO GROUPING SETS , CUBE o ROLLUP. |
10703 |
Demasiados conjuntos de agrupamiento . El número máximo es 4096. |
Reduzca el número de conjuntos de agrupamiento en una cláusula GROUP BY general a 4096 o menos. |
10706 |
Se especifican demasiadas expresiones en la cláusula GROUP BY. El número máximo es 32 cuando se especifican conjuntos de agrupamiento. |
Reduzca el número de elementos de agrupamiento distintos en una cláusula GROUP BY general a 32 o menos. |
10708 |
Las construcciones de agrupamiento CUBE() y ROLLUP() no se permiten en el modo de compatibilidad actual. Sólo se permiten en el modo 100 o superior. |
No se puede utilizar CUBE() y ROLLUP() en el modo de compatibilidad 90. Utilice la sintaxis WITH CUBE, WITH ROLLUP o GROUPING SETS. |