Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

drigo

[Resolvido] Porque colocar campos que não fazem parte de funções

Recommended Posts

Olaa,

 

 

Porque ao utilizarmos Campos juntamente com Funcões de Agragação, os campos devem OBRIGATORIAMENTE estar na clausula GROUP BY ? O que tecnicamente explica tal fato ?? Segue o código abaixo para melhor visualização:

 

 

 

SELECT nome,telefone, COUNT(idade)
FROM pessoas
GROUP BY nome, telefone;

 

 

 

Desde já, Agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da uma lida aqui:

 

http://imasters.com.br/artigo/241/sql-server/funcoes-de-agregacao-em-uma-instrucao-select/

 

Tem um porque sim, eu já fiz esta pergunta... deixa eu colocar meu backlog em dia e já posto

 

Abçs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou tentar explicar como um instrutor falou:

 

"Quando se usa uma função de agregação, seja ela qual for, você tem que indicar para o SQL, o ponteiro (ou campo) que ele tem que se basear.

Por exemplo:

 

select count(*), campoA from tabela

 

Se não indicar para o SQL através do group by qual campo vai ser agrupado, o ponteiro não vai conseguir se localizar, gerando um erro.

Ponteiros no SQL serverm para alocação dos dados e indicação da localização dos dados"

 

Sera que deu pra entender? Se não, mandem perguntas :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

A dúvida o motivo de ter de ser repetir os mesmos campos no select e no group by.

 

Pela lógica a simpes presença de uma função agregadora já diria que é group by.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.