Soma no SQL

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
LilianSL
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Qui, 10 Out 2019 9:49 am

Bom dia Colegas

Tenho uma duvida a respeito da função sum no SQL.
Eu tenho uma consulta assim:

Selecionar tudo

select sum(valor_venda)
from minha_tabela
where codigo_id =1
Dúvida 1. Eu tenho obrigatoriamente utilizar o group by?
Dúvida 2. Sem o group by, eu vi que o resultado e o tempo de execução é o mesmo, e o custo no explain plan também não se altera (o plano mostra que é utilizado o indice no campo chave (codigo_id). Minha dúvida é entender se tem algo de errado não utilizar o group by , falando em desempenho.

Grata
Lilian_SL
marlonpasquali
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 248
Registrado em: Sex, 06 Fev 2009 3:02 pm
Localização: ERECHIM - RS

A função group by somente será necessária se você utilizar algum outro campo da tabela na query junto com o Sum.
Por exemplo

Selecionar tudo

select 
campo,
sum(valor_venda)
from minha_tabela
where codigo_id =1
group by campo
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Exato.

O group by, como o próprio nome diz, AGRUPA POR algum campo.
Se você quer pegar a soma TOTAL (apenas 1 linha), não precisa de Group By. Basta ter o SUM.

Mas se você quiser somar algo POR CIDADE, algo assim:
são PAULO 500
RIO DE JAN 850
MANAUS 1100

Dai tem que usar GROUP BY CIDADE.
Responder
  • Informação