Your question is SQL Debugging on the Spot. Take a moment with it on the right.
Talk me through your thinking if you like. When you're confident, submit your answer and I'll grade it like a real screen (7/10 or better passes).
Shopify wants per-customer revenue and order counts for completed orders, broken out for a finance review. A teammate wrote the query below and it's already been flagged as producing numbers finance doesn't trust.
CREATE TABLE customers (
customer_id INT PRIMARY KEY,
email TEXT,
country TEXT
);
CREATE TABLE orders (
order_id INT PRIMARY KEY,
customer_id INT REFERENCES customers(customer_id),
order_status TEXT, -- 'completed', 'cancelled', 'refunded'
total_amount NUMERIC,
created_at TIMESTAMP
);
CREATE TABLE order_items (
item_id INT PRIMARY KEY,
order_id INT REFERENCES orders(order_id),
product_id INT,
quantity INT,
unit_price NUMERIC
);
SELECT
c.customer_id,
c.email,
COUNT(o.order_id) AS order_count,
SUM(oi.unit_price) AS total_revenue
FROM customers c
LEFT JOIN orders o ON o.customer_id = c.customer_id
JOIN order_items oi ON oi.order_id = o.order_id
WHERE o.order_status = 'completed'
GROUP BY c.customer_id, c.email;
Type out what's wrong with this SQL code — every way its numbers are wrong or misleading, not just the one that's easiest to spot.