01 - Qual é o número de Clientes que existem na base de dados ?
SELECT COUNT (*) AS Qtd_Clientes
FROM clientes
02 - Quantos produtos foram vendidos no ano de 2022 ?
SELECT Qtd_vendas
FROM (
  SELECT strftime('%Y', data_venda) AS Ano, COUNT(*) as Qtd_Vendas
  FROM vendas
  GROUP by Ano)
WHERE Ano='2022'
03 - Qual a categoria que mais vendeu em 2022 ?
SELECT nome_categoria, Qtd_vendas
FROM(
  SELECT c.nome_categoria AS Nome_Categoria, strftime('%Y', v.data_venda) AS Ano, COUNT(iv.produto_id) AS Qtd_Vendas
  FROM itens_venda iv
  JOIN vendas v ON v.id_venda = iv.venda_id
  JOIN produtos p ON p.id_produto = iv.produto_id
  JOIN categorias c ON c.id_categoria = p.categoria_id
  GROUP BY Nome_Categoria, Ano
  ORDER BY Qtd_Vendas DESC
  )
 WHERE Ano = '2022'
 ORDER BY Qtd_Vendas DESC
 LIMIT 1
04 - Qual o primeiro ano disponível na base ?
SELECT strftime('%Y', data_venda) AS Ano
FROM vendas
GROUP by Ano
LIMIT 1
05 e 06 - Qual o nome do fornecedor que mais vendeu no primeiro ano disponível na base e quanto ele vendeu no primeiro ano disponível na base de dados ?
SELECT Fornecedor, Qtd_Vendas
FROM(
  SELECT f.nome as Fornecedor, strftime('%Y', v.data_venda) AS Ano, COUNT(iv.produto_id) AS Qtd_Vendas
  FROM itens_venda iv
  JOIN vendas v ON v.id_venda = iv.venda_id
  JOIN produtos p ON p.id_produto = iv.produto_id
  JOIN categorias c ON c.id_categoria = p.categoria_id
  JOIN fornecedores f ON f.id_fornecedor = p.fornecedor_id
  GROUP BY fornecedor_id, Ano
  ORDER BY Qtd_Vendas DESC)
WHERE Ano = '2020'
ORDER BY Qtd_Vendas DESC
LIMIT 1
07 - Quais as duas categorias que mais venderam no total de todos os anos ?
SELECT nome_categoria, Qtd_vendas
FROM(
  SELECT c.nome_categoria AS Nome_Categoria, COUNT(iv.produto_id) AS Qtd_Vendas
  FROM itens_venda iv
  JOIN vendas v ON v.id_venda = iv.venda_id
  JOIN produtos p ON p.id_produto = iv.produto_id
  JOIN categorias c ON c.id_categoria = p.categoria_id
  GROUP BY Nome_Categoria
  ORDER BY Qtd_Vendas DESC
  )
ORDER BY Qtd_Vendas DESC
LIMIT 2
08 - Crie uma tabela comparando as vendas ao longo do tempo das duas categorias que mais venderam no total de todos os anos.
- Visão mês a mês:
SELECT "Ano/Mes",
 SUM(CASE WHEN Categoria='Eletrônicos' THEN Qtd_Vendas ELSE 0 END) AS Qtd_Vendas_Eletronicos,
 SUM(CASE WHEN Categoria='Vestuário' THEN Qtd_Vendas ELSE 0 END) AS Qtd_Vendas_Vestuario
FROM (
  SELECT c.nome_categoria as Categoria, strftime('%Y/%m', v.data_venda) AS "Ano/Mes", COUNT(iv.produto_id) AS Qtd_Vendas
  FROM itens_venda iv
  JOIN vendas v ON v.id_venda = iv.venda_id
  JOIN produtos p ON p.id_produto = iv.produto_id
  JOIN categorias c ON c.id_categoria = p.categoria_id
  JOIN fornecedores f ON f.id_fornecedor = p.fornecedor_id
  WHERE nome_categoria='Eletrônicos' OR nome_categoria='Vestuário'
  GROUP BY Categoria, "Ano/Mes"
  ORDER BY "Ano/Mes", Qtd_Vendas
  )
GROUP BY "Ano/Mes";
09 - Calcule a porcentagem de vendas por categorias no ano de 2022.
WITH total as (SELECT 
SUM(Qtd_Vendas) as t
FROM(
SELECT nome_categoria, Ano, Qtd_vendas
FROM(
  SELECT c.nome_categoria AS Nome_Categoria, strftime('%Y', v.data_venda) AS Ano, COUNT(iv.produto_id) AS Qtd_Vendas
  FROM itens_venda iv
  JOIN vendas v ON v.id_venda = iv.venda_id
  JOIN produtos p ON p.id_produto = iv.produto_id
  JOIN categorias c ON c.id_categoria = p.categoria_id
  WHERE Ano = '2022'
  GROUP BY Nome_Categoria
  ORDER BY Qtd_Vendas DESC
  )
) ), tabela as (SELECT 
Nome_Categoria, Qtd_Vendas
FROM(
SELECT nome_categoria, Ano, Qtd_vendas
FROM(
  SELECT c.nome_categoria AS Nome_Categoria, strftime('%Y', v.data_venda) AS Ano, COUNT(iv.produto_id) AS Qtd_Vendas
  FROM itens_venda iv
  JOIN vendas v ON v.id_venda = iv.venda_id
  JOIN produtos p ON p.id_produto = iv.produto_id
  JOIN categorias c ON c.id_categoria = p.categoria_id
  WHERE Ano = '2022'
  GROUP BY Nome_Categoria
  ORDER BY Qtd_Vendas DESC
  )
) ) 
SELECT tabela.Nome_Categoria, ROUND(100.0 * tabela.Qtd_Vendas / (SELECT t FROM total), 2) || '%' AS Porcentagem 
FROM total, tabela
10 - Crie uma métrica mostrando a porcentagem de vendas a mais que a melhor categoria tem em relação a pior no ano de 2022.
SELECT ROUND(100.0 * MAX(Qtd_Vendas)/MIN(Qtd_Vendas), 2) || '%' aS 'Categoria mais vendida x menos vendida'
FROM(
  SELECT c.nome_categoria AS Nome_Categoria, strftime('%Y', v.data_venda) AS Ano, COUNT(iv.produto_id) AS Qtd_Vendas
  FROM itens_venda iv
  JOIN vendas v ON v.id_venda = iv.venda_id
  JOIN produtos p ON p.id_produto = iv.produto_id
  JOIN categorias c ON c.id_categoria = p.categoria_id
  WHERE Ano = '2022'
  GROUP BY Nome_Categoria
  ORDER BY Qtd_Vendas DESC
  )
 
            