Análise de Vendas e Performance de E-commerce

翻译
-- 1. Estrutura do Banco de Dados
CREATE TABLE clientes (
id_cliente INT PRIMARY KEY,
nome VARCHAR(100),
estado CHAR(2)
);
CREATE TABLE pedidos (
id_pedido INT PRIMARY KEY,
id_cliente INT,
data_pedido DATE,
status VARCHAR(50),
FOREIGN KEY (id_cliente) REFERENCES clientes(id_cliente)
);
CREATE TABLE itens_pedido (
id_item INT PRIMARY KEY,
id_pedido INT,
produto VARCHAR(100),
quantidade INT,
preco_unitario DECIMAL(10,2),
FOREIGN KEY (id_pedido) REFERENCES pedidos(id_pedido)
);
-- 2. Dados de Teste
INSERT INTO clientes VALUES (1, 'Ana Silva', 'SP'), (2, 'Bruno Souza', 'MG'), (3, 'Carla Costa', 'RJ');
INSERT INTO pedidos VALUES (101, 1, '2026-01-15', 'Concluído'), (102, 2, '2026-01-16', 'Concluído'), (103, 1, '2026-01-17', 'Cancelado');
INSERT INTO itens_pedido VALUES (1, 101, 'Notebook', 1, 3500.00), (2, 101, 'Mouse', 2, 50.00), (3, 102, 'Teclado', 1, 150.00);
-- 3. Consulta de Portfólio: Faturamento total por cliente e estado (Apenas pedidos Concluídos)
SELECT
c.nome AS cliente,
c.estado,
COUNT(DISTINCT p.id_pedido) AS total_pedidos,
SUM(i.quantidade * i.preco_unitario) AS total_gasto
FROM clientes c
JOIN pedidos p ON c.id_cliente = p.id_cliente
JOIN itens_pedido i ON p.id_pedido = i.id_pedido
WHERE p.status = 'Concluído'
GROUP BY c.id_cliente, c.nome, c.estado
ORDER BY total_gasto DESC;
添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论