Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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.
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
A.Jr no aguardo.
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 :)
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.
Minha duvida foi sanada...
Obrigado pela atenção de todos...
Nunca achei esta explicação em lugar nemhum, parece aquele filme o Auto da Compadecida (da peça de mesmo nome) em que um personagem fala :
"Num sei, só sei que foi assim"...