Revenue by Product Category

easyfree, no signupAggregation & GROUP BYJoins

Finance wants a quick view of which product categories bring in the most money. Calculate total revenue per category, counting only completed orders. Line revenue is quantity times unit_price.

Expected output

category, revenue (rounded to 2 decimals). Highest revenue first.

Row order is checked. Column names are not checked; numbers are compared to 2 decimals.

Dataset: E-commerce store

An online store selling electronics, home goods, books, apparel and beauty products to customers in six countries (Jan 2025 to Mar 2026).

customers

One row per registered customer.

customer_idINTEGERprimary key
nameTEXT
countryTEXTUS, UK, DE, IN, BR or CA
signup_dateTEXTYYYY-MM-DD
referred_byINTEGERcustomer_id of the referrer, NULL if none
products

Product catalog with current list price.

product_idINTEGERprimary key
nameTEXT
categoryTEXT
priceREALlist price in USD
orders

One row per order. Only completed orders count as revenue.

order_idINTEGERprimary key, increases with order_date
customer_idINTEGER
order_dateTEXTYYYY-MM-DD
statusTEXTcompleted, cancelled or returned
order_items

Line items. Revenue of a line = quantity * unit_price (unit_price may include a discount).

order_idINTEGER
product_idINTEGER
quantityINTEGER
unit_priceREALprice actually charged per unit

Engine: SQLite. Dates are text (YYYY-MM-DD); use strftime(), date() and julianday() for date math.

Related problems

SQLite ยท runs in your browser
Ctrl/โŒ˜ + Enter to run
Expected output preview (5 rows, order matters)
categoryrevenue
Electronics8311.74
Home6169.04
Apparel4783.72

Showing 3 of 5 rows.

Hints

Worked solution

Run at least one query to unlock it.