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
)