Treinamento
Módulo
Usar funções internas e GROUP BY no Transact-SQL - Training
Usar funções internas e GROUP BY no Transact-SQL
Não há mais suporte para esse navegador.
Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes.
Funções de agregação não são permitidas em GROUP BY, mas foram encontradas em <sqlExpr>
.
A finalidade da cláusula GROUP BY
é identificar o conjunto de grupos distintos.
Cada grupo de linhas é condensado em uma linha única usando funções de agregação na lista SELECT
.
Por fim, você pode filtrar as linhas agrupadas usando a cláusula HAVING
.
O sqlExpr
está localizado na cláusula GROUP BY
em vez da lista de SELECT
ou cláusula HAVING
.
A mitigação do erro depende da causa:
Você especificou a função correta?
Substitua sqlExpr
por uma função apropriada que não é uma função de agregação.
Você pretende agregar a expressão?
Remova a expressão do GROUP BY
e adicione-a à lista de SELECT
.
Você pretende filtrar a expressão agregada?
Remova a expressão da cláusula GROUP BY
e adicione-a usando um operador BOOLEAN
à cláusula HAVING
.
-- An aggregation in the GROUP BY clause
> SELECT a FROM VALUES(1, 2), (1, 3) AS T(a, b) GROUP BY a, sum(b);
[GROUP_BY_AGGREGATE] Aggregate functions are not allowed in GROUP BY, but found sum(T.b).; line 1 pos 58;
-- Move the expression to the SELECT list
> SELECT a, sum(b) FROM VALUES(1, 2), (1, 3) AS T(a, b) GROUP BY a;
1 5
-- An aggregation in the GROUP BY clause
> SELECT a, sum(b) FROM VALUES(1, 2), (1, 3), (2, 1) AS T(a, b) GROUP BY a, sum(b) > 1;
[GROUP_BY_AGGREGATE] Aggregate functions are not allowed in GROUP BY, but found (sum(T.b) > CAST(1 AS BIGINT)).; line 1 pos 74;
-- Move the expression to the HAVING clause
> SELECT a, sum(b) FROM VALUES(1, 2), (1, 3), (2, 1) AS T(a, b) GROUP BY a HAVING sum(b) > 1;
1 5
Treinamento
Módulo
Usar funções internas e GROUP BY no Transact-SQL - Training
Usar funções internas e GROUP BY no Transact-SQL
Documentação
Operador == (sinal de igual duplo) – Azure Databricks - Databricks SQL
Conheça a sintaxe do operador == (sinal de igual duplo) da linguagem SQL no Databricks SQL e no Databricks Runtime.
Função hour – Azure Databricks - Databricks SQL
Conheça a sintaxe da função hour da linguagem SQL no Databricks SQL e do Databricks Runtime.
Função minute – Azure Databricks - Databricks SQL
Conheça a sintaxe da função minute da linguagem SQL no Databricks SQL e no Databricks Runtime.