none
Select e group by RRS feed

  • Pergunta

  • Bom dia,

    Galera, estou com uma duvida. Tenho a seguinte tabela: Vendas

                                                   Com os seguintes campos: Data venda (dd/mm/yyyy); Quantidade

    A duvida é a seguinte:  tem vários registros de datas com meses e anos diferentes, queria saber como faço um select para retornar o mês de cada ano com mais vendas?

    Parei aqui, mas não consegui mais progredir.

    select sum(ven.Quantidade)as Total,  year(ven.DataVenda), month(ven.DataVenda) as Mes from Vendas ven
    group by month(ven.DataVenda), year(ven.DataVenda) 

    sexta-feira, 4 de outubro de 2019 13:21

Respostas

  • Bom dia,

    Experimente dessa forma:

    with
        CTE_Sum as
        (
            select sum(ven.Quantidade) as Total, year(ven.DataVenda) as Ano, month(ven.DataVenda) as Mes 
            from Vendas ven
            group by month(ven.DataVenda), year(ven.DataVenda) 
        ),
    
        CTE_RN as
        (
            select *, row_number() over(partition by Ano order by Total desc) as RN
            from CTE_Sum
        )
    
    select Total, Ano, Mes
    from CTE_RN
    where RN = 1
    

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    • Marcado como Resposta IgorFKModerator segunda-feira, 7 de outubro de 2019 19:48
    sexta-feira, 4 de outubro de 2019 13:36

Todas as Respostas

  • Bom dia,

    Experimente dessa forma:

    with
        CTE_Sum as
        (
            select sum(ven.Quantidade) as Total, year(ven.DataVenda) as Ano, month(ven.DataVenda) as Mes 
            from Vendas ven
            group by month(ven.DataVenda), year(ven.DataVenda) 
        ),
    
        CTE_RN as
        (
            select *, row_number() over(partition by Ano order by Total desc) as RN
            from CTE_Sum
        )
    
    select Total, Ano, Mes
    from CTE_RN
    where RN = 1
    

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    • Marcado como Resposta IgorFKModerator segunda-feira, 7 de outubro de 2019 19:48
    sexta-feira, 4 de outubro de 2019 13:36
  • Funcionou sim, muito obrigado
    sexta-feira, 4 de outubro de 2019 13:51