Consulta Sql Agrupado por mês e ano no Sql Sever

Código da consulta sql utilizada na aula:

 

 

 

use bd_SiteVendas

declare @ANO_INICIO INT = 2018,
        @ANO_FIM INT =  2019
  ;     

with tab_venda_mes_ano as 

(
  SELECT 
  YEAR(DATA_VENDA) AS ANO_VENDA,
  MONTH(DATA_VENDA) AS MES_VENDA,
  CHOOSE (MONTH(DATA_VENDA), 'Jan','Fev','Mar','Abr','Mai','Jun',
  'Jul','Ago','Set','Out','Nov','Dez') as MES_DESCR,
  COUNT(ID_CUPOM) AS QTD_VENDA,
  SUM ( VALOR_CUPOM) AS TOTAL_VENDA
  FROM bd_Sitevendas.dbo.tab_cupom
  WHERE YEAR(DATA_VENDA) BETWEEN @ANO_INICIO AND @ANO_FIM
  GROUP BY  YEAR(DATA_VENDA) , MONTH(DATA_VENDA) 
  
  UNION

    SELECT 
  YEAR(DATA_VENDA) AS ANO_VENDA,
  null AS MES_VENDA,
  'Total' as MES_DESCR,
  COUNT(ID_CUPOM) AS QTD_VENDA,
  SUM ( VALOR_CUPOM) AS TOTAL_VENDA
  FROM bd_Sitevendas.dbo.tab_cupom
  WHERE YEAR(DATA_VENDA) BETWEEN @ANO_INICIO AND @ANO_FIM
  GROUP BY  YEAR(DATA_VENDA) 
  
  )
select 
  ANO_VENDA, 
  MES_VENDA,
  MES_DESCR, 
  QTD_VENDA,
  TOTAL_VENDA 
  from tab_venda_mes_ano
order by ANO_VENDA ASC, MES_VENDA ASC

;


Obrigado.

Adilson Paranhos

Contato: canalsqlservernapratica@gmail.com
Sobre Adilson Paranhos 15 Artigos
Formado em Analise e Desenvolvimento de Sistemas, experiência há mais de 10 anos. Amo aprender, ensinar, compartilhar e simplificar coisas... Linguagem T-SQL, consultas básicas e avançadas, filtros, agrupamentos, junções, funções, views, funções de sistemas

Seja o primeiro a comentar

Faça um comentário

Seu e-mail não será publicado.


*