DataCareerHub
Explore learning
← Practice challengesFree companion · 15 minute suggested activity

Calculate channel share with a common denominator

SQL practice · Retail case · 15–20 minutes. Start with retail-setup.sql in a disposable local SQLite database.

Learn → Try → ExplainReviewed 2026-10-15
01

Your task

Find each channel’s share of completed sales. Keep the denominator across channels, not within each channel. Write the query before opening the solution. Record the expected output grain.

02

Hint

Apply the status filter before aggregation. State whether the result represents orders, channels or periods. Keep currency units explicit.

Worked solution

Store EUR 370 = 52.86%; Web EUR 330 = 47.14%. Rounded percentages sum to 100 here; other datasets can differ by rounding.

WITH s AS (SELECT channel,SUM(net_cents) cents FROM orders WHERE status='completed' GROUP BY channel) SELECT channel,cents,ROUND(100.0*cents/(SELECT SUM(cents) FROM s),2) pct FROM s ORDER BY channel;
04

Check your reasoning

Reconcile the result to the source and describe one limitation. This tiny fictional dataset cannot establish customer behavior or predict future sales.

Make the reasoning yours.

Try the activity before reading its reference. Keep your sources, commands and assumptions with your work. Companion activities are unsaved self-practice and do not award a certificate or change lesson progress.

Resume guidance and examples are for learning and preparation only. They do not guarantee interviews, a job offer or employment.

Public registration, payments and new paid enrolment remain disabled. These free resources do not grant access to protected course modules.

Learner dashboard ↗ · Ask a question ↗