| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
grsoft Aprendiz

Registrado: Segunda-Feira, 10 de Abril de 2006 Mensagens: 107
|
Enviada: Qua Jun 28, 2017 10:42 am Assunto: ajuda em relatório SQL (somas) |
|
|
Opa pessoal, estou com uma dúvida aqui num comando e queria saber se é possível, vou ser bem resumido para ficar de fácil entendimento, seguinte:
Tenho uma tabela onde armazeno os produtos que eu vendo e quero fazer uma sql q separe as quantidades vendidas dos produtos vendidos por dia, até ai tudo bem, só que no final eu quero a quantidade TOTAL de todos os dias, isso é possível? |
|
| Voltar ao Topo |
|
 |
leo_cj Colaborador

Registrado: Sábado, 26 de Março de 2011 Mensagens: 1335
|
Enviada: Qua Jun 28, 2017 10:48 am Assunto: |
|
|
| Qual banco de dados você está utilizando? |
|
| Voltar ao Topo |
|
 |
grsoft Aprendiz

Registrado: Segunda-Feira, 10 de Abril de 2006 Mensagens: 107
|
Enviada: Qua Jun 28, 2017 10:56 am Assunto: |
|
|
| leo_cj escreveu: | | Qual banco de dados você está utilizando? |
Mysql |
|
| Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
|
| Voltar ao Topo |
|
 |
grsoft Aprendiz

Registrado: Segunda-Feira, 10 de Abril de 2006 Mensagens: 107
|
Enviada: Qua Jun 28, 2017 12:08 pm Assunto: |
|
|
caramba, tão simples para quem é mestre kkkkk
só um detalhe, no final de cada group ele me retorna o total e o nofinal do relatório me retorna o total geral
tenho duas perguntas:
1 - se eu não quiser o total por grupo? é q na verdade eu utilizo o group de dois campos, ai ele cria o total para cada grupo e eu só queria o valor total da sql completa.
2 - se eu quiser "escrever" alguma coisa para identificar q aquela linha é o total, como fazer? |
|
| Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qua Jun 28, 2017 2:26 pm Assunto: |
|
|
Não sei se existe alguma forma específica para isso no MySQL. Experimente mais ou menos dessa forma:
| Código: | select Grupo, Produto, coalesce(Descricao, 'Total') as Descricao, Quantidade
from
(
select Grupo, Produto, Descricao, sum(Quantidade) as Quantidade
from Vendas
group by Grupo, Produto, Descricao with rollup
)
where
Grupo is not null or
(Grupo is null and Produto is null); |
Espero que ajude |
|
| Voltar ao Topo |
|
 |
grsoft Aprendiz

Registrado: Segunda-Feira, 10 de Abril de 2006 Mensagens: 107
|
Enviada: Qua Jun 28, 2017 2:47 pm Assunto: |
|
|
| imex escreveu: | Não sei se existe alguma forma específica para isso no MySQL. Experimente mais ou menos dessa forma:
| Código: | select Grupo, Produto, coalesce(Descricao, 'Total') as Descricao, Quantidade
from
(
select Grupo, Produto, Descricao, sum(Quantidade) as Quantidade
from Vendas
group by Grupo, Produto, Descricao with rollup
)
where
Grupo is not null or
(Grupo is null and Produto is null); |
Espero que ajude |
deu certo sim meu amigo, MUITO obrigado... |
|
| Voltar ao Topo |
|
 |
grsoft Aprendiz

Registrado: Segunda-Feira, 10 de Abril de 2006 Mensagens: 107
|
Enviada: Qui Jun 29, 2017 7:22 am Assunto: |
|
|
| imex escreveu: | Não sei se existe alguma forma específica para isso no MySQL. Experimente mais ou menos dessa forma:
| Código: | select Grupo, Produto, coalesce(Descricao, 'Total') as Descricao, Quantidade
from
(
select Grupo, Produto, Descricao, sum(Quantidade) as Quantidade
from Vendas
group by Grupo, Produto, Descricao with rollup
)
where
Grupo is not null or
(Grupo is null and Produto is null); |
Espero que ajude |
Surgiu um outro probleminha quando eu tento usar o ORDER BY pois eu organizo por datas e como essas datas estão no group by, elas ficam em branco e acabam bagunçando toda a consulta. eu vou mostrar abaixo minha consulta original, resumida, sem o ROLLUP e gostaria, se possível, que me ajudasse.
SELECT CODPROD, DATASIMPLES, SUM(QUANT) from (
select CODPROD, CAST(DATAHORA as Date) as DATASIMPLES, QUANT
from DETMOVIMENTO
UNION ALL
select CODPROD,CAST(DATAHORA as Date) as DATASIMPLES, QUANT
from DETMOVIMENTOAM
) consulta1
group by CODPROD, DATASIMPLES
ORDER BY DATASIMPLES |
|
| Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qui Jun 29, 2017 11:15 am Assunto: |
|
|
Parece que no MySQL é possível utilizar as palavras chaves Asc e Desc no Group By para indicar a ordem desejada.
Experimente fazer uns testes removendo o Order By e deixando o Group By da seguinte forma:
| Código: | | group by DATASIMPLES asc, CODPROD asc with rollup; |
Espero que ajude |
|
| Voltar ao Topo |
|
 |
grsoft Aprendiz

Registrado: Segunda-Feira, 10 de Abril de 2006 Mensagens: 107
|
Enviada: Sex Jun 30, 2017 9:28 am Assunto: |
|
|
| imex escreveu: | Parece que no MySQL é possível utilizar as palavras chaves Asc e Desc no Group By para indicar a ordem desejada.
Experimente fazer uns testes removendo o Order By e deixando o Group By da seguinte forma:
| Código: | | group by DATASIMPLES asc, CODPROD asc with rollup; |
Espero que ajude |
Ajudou sim meu amigo, e MUITO... |
|
| Voltar ao Topo |
|
 |
grsoft Aprendiz

Registrado: Segunda-Feira, 10 de Abril de 2006 Mensagens: 107
|
Enviada: Seg Jan 22, 2018 6:10 pm Assunto: |
|
|
| imex escreveu: | Parece que no MySQL é possível utilizar as palavras chaves Asc e Desc no Group By para indicar a ordem desejada.
Experimente fazer uns testes removendo o Order By e deixando o Group By da seguinte forma:
| Código: | | group by DATASIMPLES asc, CODPROD asc with rollup; |
Espero que ajude |
Meu caro amigo, surgiu outra dúvida sobre esse caso, seguinte:
eu tenho uma tabela bem simples (movimento):
COD, VALOR, DESCONTO
eu queria uma sql q mostrasse todos os dados dessa tabela movimento e no final mostrasse o valor total do campo VALOR e do CAMPO DESCONTO, consegue me ajudar? |
|
| Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Ter Jan 23, 2018 10:12 am Assunto: |
|
|
Experimente fazer uns testes dessa forma para ver se é obtido o resultado esperado:
| Código: | select
Cod,
sum(Valor) as Valor,
sum(Desconto) as Desconto
from Movimento
group by
Cod,
Valor,
Desconto with rollup |
Espero que ajude |
|
| Voltar ao Topo |
|
 |
grsoft Aprendiz

Registrado: Segunda-Feira, 10 de Abril de 2006 Mensagens: 107
|
Enviada: Qua Jan 24, 2018 8:55 am Assunto: |
|
|
| imex escreveu: | Experimente fazer uns testes dessa forma para ver se é obtido o resultado esperado:
| Código: | select
Cod,
sum(Valor) as Valor,
sum(Desconto) as Desconto
from Movimento
group by
Cod,
Valor,
Desconto with rollup |
Espero que ajude |
Essa forma até q funciona, só q ele, a cada registro da tabela, ele me retorna 3. |
|
| Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qua Jan 24, 2018 11:06 am Assunto: |
|
|
Experimente remover os campos Valor e Desconto do Group By.
Espero que ajude |
|
| Voltar ao Topo |
|
 |
grsoft Aprendiz

Registrado: Segunda-Feira, 10 de Abril de 2006 Mensagens: 107
|
Enviada: Qui Jan 25, 2018 12:15 pm Assunto: |
|
|
| imex escreveu: | Experimente remover os campos Valor e Desconto do Group By.
Espero que ajude |
Mais uma vez, MUITO obrigado, vc é o cara... |
|
| Voltar ao Topo |
|
 |
|