none
adicionar uma linha de soma e media numa consulta sql RRS feed

  • Pergunta

  • Boa Tarde, Pessoal!!!

    tenho uma consulta : 
    select 
    T.LINHA,
    SUM(ISNULL(t.qVIVO,0) + ISNULL(t.qTIM,0) + ISNULL(t.qCLARO,0) + ISNULL(t.qOI,0) + ISNULL(t.qNEXTEL,0) + ISNULL(t.qFIXOTOTAL,0) + ISNULL(t.qOUTRAS,0)) as qLOCAL,
    
    
    qGRUPO	,
    qVIVO	,
    qTIM	,
    qCLARO	,
    qOI	,
    qNEXTEL	,
    qOUTRAS	,
    qFIXOTOTAL	,
    
    
    DTVENCIMENTO ,
    MONTH(DTVENCIMENTO) AS MESN
    
    from fx_ConsumoTotal t
    
    where PLANO is not null
    
    GROUP BY LINHA	,qGRUPO	,qVIVO	,qTIM	,qCLARO	,qOI	,qNEXTEL	,qOUTRAS	,qFIXOTOTAL	,
    DTVENCIMENTO
    
    
    onde gostaria de colocar uma linha de total e outra de media conforme ilustro abaixo

    exemplo

    Ednilton Santos

    terça-feira, 6 de dezembro de 2016 17:51

Respostas

Todas as Respostas

  • Deleted
    • Marcado como Resposta Ednilton Santos terça-feira, 6 de dezembro de 2016 18:54
    • Não Marcado como Resposta Ednilton Santos terça-feira, 6 de dezembro de 2016 18:54
    terça-feira, 6 de dezembro de 2016 18:23
  • Obrigado pelo retorno José Diz

    na verdade o sum é apenas para criar uma coluna nova que é a soma de outras colunas e o group by é para agrupar o mês.

    vou pesquisar sim sobre o GROUPING SETS 


    Ednilton Santos

    terça-feira, 6 de dezembro de 2016 18:55
  • Acredito que sua query pode ser melhorada por algo semelhante a isso

    WITH    Dados
              AS ( SELECT   t.LINHA ,
                            t.DTVENCIMENTO ,
                            qGRUPO = SUM(qGRUPO) ,
                            qVIVO = SUM(qVIVO) ,
                            qTIM = SUM(qTIM) ,
                            qCLARO = SUM(qCLARO) ,
                            qOI = SUM(qOI) ,
                            qNEXTEL = SUM(qNEXTEL) ,
                            qOUTRAS = SUM(qOUTRAS) ,
                            qFIXOTOTAL = SUM(qFIXOTOTAL) ,
                            MONTH(DTVENCIMENTO) AS MESN
                   FROM     fx_ConsumoTotal t
                   WHERE    PLANO IS NOT NULL
                   GROUP BY LINHA ,
                            DTVENCIMENTO
                 )
        SELECT  R.qGRUPO ,
                R.qVIVO ,
                R.qTIM ,
                R.qCLARO ,
                R.qOI ,
                R.qNEXTEL ,
                R.qOUTRAS ,
                R.qFIXOTOTAL ,
                R.MESN ,
                qLOCAL = ( R.qVIVO + R.qTIM + R.qCLARO + R.qOI + R.qNEXTEL
                           + R.qOUTRAS + R.qFIXOTOTAL )
        FROM    Dados R;


    Wesley Neves

    terça-feira, 6 de dezembro de 2016 19:11
  • Deleted
    terça-feira, 6 de dezembro de 2016 19:16
  • O resultado é bem esse mesmo José Diz mas tipo como consigo colocar uma linha no final da consulta apenas com o total e media?

    pensei em fazer uma subconsulta e colocar tudo em avg, mas ae se tenho mais meses vai fica duplicado os meses para soma e outra para media.


    Ednilton Santos

    terça-feira, 6 de dezembro de 2016 23:57
  • Deleted
    quarta-feira, 7 de dezembro de 2016 09:56
  • Bom dia,

    Devido a falta de interação do autor dessa pergunta,

    essa thread está sendo fechada. Caso o problema ainda

    esteja ocorrendo, favor abrir uma nova thread.

    Atenciosamente,


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    sexta-feira, 9 de dezembro de 2016 11:28
  • José!

    Me desculpa pela demora na resposta!
    estava doente e não tive como responder. 

    a sua resposta ta certa muito útil, muito obrigado por reservar seu tempo para me ajudar e ainda sempre acompanhada de uma ótima explicação.


    Ednilton Santos

    sexta-feira, 9 de dezembro de 2016 18:50
  • Obrigado!

    Ednilton Santos

    sexta-feira, 9 de dezembro de 2016 18:50
  • Obrigado, Wesley

    Ednilton Santos

    sexta-feira, 9 de dezembro de 2016 18:55