GARANTIR DESCONTO

Fórum Group By #50567

18/04/2005

0

Oi,

Não consigo executar o comando GROUP BY no select (tão simples), pois ele retorna um erro ... e não sei o que pode estar errado:

SELECT COD, VALOR FROM <TABELA>
GROUP BY VALOR

>> Ele retorna o seguinte erro: Invalid Column Reference
Mas se dou o comando:

SELECT COD, VALOR FROM <TABELA>
ORDER BY VALOR

>> Executa SEM erro!!!

O que pode ser??

Obrigada.


Fatima

Fatima

Responder

Posts

19/04/2005

Anorex

Olá Fátima...
é porque na primeira vc esta dando um Group By numa coluna que não está no select.
Para o Group By funcionar esta coluna tem que ser retornada no sql...


Responder

Gostei + 0

19/04/2005

Emerson Nascimento

só ilustrando o que o anorex disse, o uso mais comum do group é:

SELECT COD, SUM(VALOR) FROM <TABELA>
GROUP BY COD


Responder

Gostei + 0

20/04/2005

Fatima

... Mas no código eu mando retornar o campo pelo qual eu mando agrupar!!

SELECT COD, VALOR FROM <TABELA>
GROUP BY VALOR

>> ??


Responder

Gostei + 0

22/04/2005

Emerson Nascimento

no sua instrução você tem dois campos: COD e VALOR. quando há uma solicitação explícita de campos, esse campos OBRIGATORIAMENTE devem estar na cláusula [i:0b2614a677]group by[/i:0b2614a677], se houver uma.

No seu caso:
SELECT COD, VALOR FROM <TABELA>
GROUP BY VALOR

Deveria ser alterado para:
SELECT COD, VALOR FROM <TABELA>
GROUP BY COD, VALOR
mas isso não faz nenhum sentido.

O uso mais comum seria:
SELECT COD, SUM(VALOR) FROM <TABELA>
GROUP BY COD
pois assim seriam exibidas as somas do valores de cada código.

imagine que na sua tabela haja os seguintes registros:
COD     VALOR
1      150,00
2       80,00
2       15,55
1       30,45
3       28,74
2       12,44


após o comando
SELECT COD, SUM(VALOR) FROM <TABELA>
GROUP BY COD
o retorno seria:
COD     VALOR
1      180,45
2      107,99
3       28,74



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar