Search the Community
Showing results for tags 'groupby'.
-
Estou precisando de ajuda com a Query abaixo, pois sem o "Sum" a consulta está me retornando os valores corretos, porém sem agrupar os itens com o mesmo código, conforme resultado abaixo. Código | Descrição | Un | CódParceiro | Nome_do_Parceiro | Qtd Neg | Valor_Total 475 Limpador LT 35 Teste 15 236,25 475 Limpador LT 35 Teste 20 315 Porém o resultado deveria ser: Código | Descrição | Un | CódParceiro | Nome_do_Parceiro | Qtd Neg | Valor_Total 475 Limpador LT 35 Teste 35 521,25 SELECT DISTINCTITE.CODPROD As "Codigo_do_Produto",PRO.DESCRPROD As "DescProdutos",PRO.CODVOL As "Un",CAB.CODPARC As "CódParceiro",PAR.NOMEPARC As "Nome_do_Parceiro",(ITE.QTDNEG* ((CASE WHEN CAB.TIPMOV = 'D' THEN -1 ELSE 1 END))) As "QtdNeg",(ITE.VLRUNIT * ITE.QTDNEG) As "Valor_Total"FROMTGFCAB CAB,TGFPAR PAR,TGFTOP TPO,TGFITE ITE,TGFPRO PROWHERECAB.CODTIPOPER IN (3200, 36)AND CAB.NUNOTA = ITE.NUNOTAAND ITE.CODPROD = PRO.CODPRODAND CAB.CODPARC = PAR.CODPARCAND (( TPO.TIPMOV = 'V' OR TPO.TIPMOV = 'D')AND ( CAB.STATUSNOTA = 'L')AND ( CAB.DTENTSAI >='01/07/2020')AND ( CAB.DTENTSAI <='31/07/2020')AND (CAB.CODPARC = 35))GROUP BY "QtdNeg", ITE.VLRUNIT, ITE.CODPROD, PRO.DESCRPROD,PRO.CODVOL, CAB.TIPMOV, CAB.CODPARC, PAR.NOMEPARCORDER BY ITE.CODPROD ASC Tentei colocar "Sum" para somar a "QtdNeg" e o "Valor_Total", retirando da cláusula group by, ele até chegar a agrupar porém desta forma a consulta resulta nos valores abaixo: Código | Descrição | Un | CódParceiro | Nome_do_Parceiro | Qtd Neg | Valor_Total 475 Limpador LT 35 Teste 1730 273420 SELECT DISTINCT ITE.CODPROD As "Codigo_do_Produto", PRO.DESCRPROD As "DescProdutos", PRO.CODVOL As "Un", CAB.CODPARC As "CódParceiro", PAR.NOMEPARC As "Nome_do_Parceiro", SUM(ITE.QTDNEG* ((CASE WHEN CAB.TIPMOV = 'D' THEN -1 ELSE 1 END))) As "QtdNeg", SUM(ITE.VLRUNIT * ITE.QTDNEG) As "Valor_Total" FROM TGFCAB CAB, TGFPAR PAR, TGFTOP TPO, TGFITE ITE, TGFPRO PRO WHERE CAB.CODTIPOPER IN (3200, 36) AND CAB.NUNOTA = ITE.NUNOTA AND ITE.CODPROD = PRO.CODPROD AND CAB.CODPARC = PAR.CODPARC AND (( TPO.TIPMOV = 'V' OR TPO.TIPMOV = 'D') AND ( CAB.STATUSNOTA = 'L') AND ( CAB.DTENTSAI >='01/07/2020') AND ( CAB.DTENTSAI <='31/07/2020') AND (CAB.CODPARC = 35)) GROUP BY ITE.CODPROD, PRO.DESCRPROD,PRO.CODVOL, CAB.TIPMOV, CAB.CODPARC, PAR.NOMEPARC ORDER BY ITE.CODPROD ASC
-
Boa tarde amigos, Tenho uma planilha de Excel que importo para o MySQL entretanto o layout da mesma não seguiu uma padrão de fácil utilização, ex: existem 4 colunas benefícios para um mesmo registro assim como função e finalidade do registro, o que eu preciso é que a consulta me retorne: data, benefícios(soma por tipo), função(soma por tipo), finalidade(soma por tipo) o campo data serviria apenas para o filtro o resultado seria mais ou menos esse beneficio | total foto |50 currículo |100 e assim com função e finalidade SELECT ats_data, ats_filial, sum(`ats_beneficios1`) + sum(`ats_beneficios2`) + sum(`ats_beneficios3`) + sum(`ats_beneficios4`) as total FROM `atendimentos_simples` wHERE `ats_beneficios1` like '%foto%' or `ats_beneficios2` like '%foto%' or `ats_beneficios3` like '%foto%' or `ats_beneficios4` like '%foto%'and ats_data BETWEEN '2019-07-01' AND '2019-07-31' group by ats_filial essa consulta não esta funcionando o filtro da data sempre me trazendo o total, já tentei usar subselect mas falhei. se puderem me ajudar por favor, trabalho com uma entidade publica e mudar a planilha esta fora de questão(infelizmente) O mais proximo que cheguei foi select ats_filial, ats_data, @a:=(select COUNT(ats_beneficios1) from atendimentos_simples where ats_data = '2019-01-04' and ats_beneficios1 like '%foto%') as b1, @b:=(select COUNT(ats_beneficios2) from atendimentos_simples where ats_data = '2019-01-04' and ats_beneficios2 like '%foto%') as b2, @c:=(select COUNT(ats_beneficios3) from atendimentos_simples where ats_data = '2019-01-04' and ats_beneficios3 like '%foto%') as b3, @d:=(select COUNT(ats_beneficios4) from atendimentos_simples where ats_data = '2019-01-04' and ats_beneficios4 like '%foto%') as b4, convert(substring(@e:=@a+@b+@c+@d,1,2), integer) as total from atendimentos_simples group by ats_filial Erros: Resultado se repete em cada linha das 10 filiais Se retiro o group by o resultado continua se repetindo mas todas as linhas são exibidas como um totalizador para cada registro. ats_filial ats b1 b2 b3 b4 total F1 2019-01-03 2 0 1 0 NULL F2 2019-01-03 2 0 1 0 NULL F3 2019-01-01 2 0 1 0 NULL F4 2019-01-03 2 0 1 0 NULL F5 2019-01-03 2 0 1 0 NULL F6 2019-01-03 2 0 1 0 NULL F7 2019-01-03 2 0 1 0 NULL F8 2019-01-03 2 0 1 0 NULL F9 2019-01-03 2 0 1 0 NULL F10 2019-01-20 2 0 1 0 NULL Obrigado.
- 6 replies
-
- importação de dados
- juntar
-
(and 3 more)
Tagged with:
-
AJUDAAAA Pessoal eu preciso da quantidade total de itens diferentes vendidos por cliente para cada vendedor. Eu tenho o seguinte: Vendedor | CLIENTE | PRODUTO | data_VENDA JOAO | MERCADO SORRISO | PRESUNTO | 01/07/2019 JOAO | PADARIA SONHO | PRESUNTO | 03/07/2019 JOAO | SUPERCENTER | PRESUNTO | 05/07/2019 JOAO | SUPERCENTER | PRESUNTO | 10/07/2019 LUIZ | CONFEITARIA A | AÇUCAR | 15/07/2019 PRECISO DESSE RESULTADO: Vendedor | Total clientes vendidos | total produtos diferentes vendidos POR CLIENTE JOAO | 3 | 3 * LUIZ | 1 | 1 *O total é 3 porque eu preciso considerar a venda do produto por cliente, e não somente por vendedor. Quando eu utilizo o group by ele considera apenas o total de produtos vendidos por VENDEDOR, e não considera a venda para clientes diferentes. SELECT distinct vendedor, count(distinct cliente), count(distinct produto) FROM FATO_VENDAS a GROUP BY vendedor Por favor me ajudem!!!
-
ola eu uso o seguinte código para fazer uma busca e agrupar por hora,dia,sema,mês e ano o problema e que queria agrupar por quinzena e não consigo pois não tem DATE_FORMAT para quinzena para gerar a legenda e nem GROUP BY para quinzena para gerar o agrupamento SELECT SUM(SL.sm_wats/SL.qt_dados)/1000 AS consumo, DATE_FORMAT(SL.dt_leitura,'%U') as legenda,COUNT(*) AS contagem FROM sistema_ldevice AS SL WHERE SL.cd_device = ".$id_objeto." AND SL.dt_leitura like '%".$data[0].'-'.$data[1]."%' AND SL.sm_wats != 0 GROUP BY WEEK(SL.dt_leitura) ORDER BY legenda ASC
-
Boa tarde , estou tendo dificuldades pra fazer uma soma com um nvl no select , segue abaixo o sql , eu quero fazer a soma de quantidade de peças de roupas que deram saída por setor. SELECT estoque. ds_estoque setor_saindo, det_saida . qt_quantidade qt_quantidade, NVL(kit . ds_kit, tp_pecas . ds_tp_pecas) Descricao, setor.nm_setor nome_setor, cab_saida . dt_inc_usuario dt_saida, usuarios . nm_usuario nm_usuario FROM dbamv . cab_saida, dbamv . det_saida, dbamv . tp_pecas, dbamv . kit, dbamv . estoque, dbasgu . usuarios, dbamv . setor, dbamv . unid_int WHERE cab_saida.cd_seq_saida = det_saida.cd_seq_saida AND cab_saida.cd_estoque = estoque.cd_estoque(+) AND det_saida.cd_tp_pecas = Tp_Pecas.cd_tp_pecas(+) AND det_saida.cd_comp_kit = kit.cd_comp_kit(+) AND cab_saida.cd_setor = setor.cd_setor(+) AND cab_saida.cd_unid_int = unid_int.cd_unid_int(+) AND usuarios.cd_usuario = NVL(cab_saida.cd_usuario_alt, cab_saida.cd_usuario_inc) ORDER BY 5 ASC
-
Olá Pessoal, estou fazendo um select onde me traz varios resultados de calculos feitos em variaveis, por ultimo eu teria que somar os valores de acordo com as cco_contas iguais, mas não estou conseguindo, ai vai o select, se alguém puder ajudar. SET @nSaldo := 0.00; SET @nJuros := 0.00; SET @nIOF := 0.00; SET @nIRRF := 0.00; SET @nDias := 0; SELECT cco.cco_conta, cco.cli_nome AS cli_nome, tipopessoa( cco.cli_cpfcnpj ) AS pessoa, apl.apl_ndoc, apl.apl_data, apl.apl_juros, crt.aplcrt_codigo, crt.aplcrt_nome, apl.apl_tipjur, @nSaldo := (SaldoContratoAplicacao( apl.cco_conta, apl.apl_ndoc, '2015-09-03', 0)) AS SaldoApl, @nJuros := JurosAplicacao( apl.apl_data, '2015-09-03', @nSaldo, apl.apl_juros, apl.apl_tipjur ) AS VlrJuros, @nDias := DATEDIFF( '2015-09-03', apl.apl_data) AS nDias, @nIOF := ( IF( Isencao( cco.cco_conta, "I") = 1, 0, ((tabiof(@nDias)/100) * @nJuros) )) AS VlrIOF, @nIRRF := ( IF( Isencao( cco.cco_conta, "R") = 1, 0, ((tabirrf(@nDias)/100) * (@nJuros-@nIOF) )) ) AS VlrIRRF, ( @nSaldo + @nJuros - @nIOF - @nIRRF ) AS disponivel FROM ap_aplicacao AS apl LEFT JOIN view_contas AS cco ON apl.cco_conta = cco.cco_conta LEFT JOIN ap_carteira AS crt ON apl.aplcrt_codigo = crt.aplcrt_codigo WHERE apl.apl_data <= '2015-09-03' AND ( datavazia(apl.apl_liquida) OR apl.apl_liquida > '2015-09-03') Agradeço desde já. Att