
Counting what is recorded
mediumCounting what is recorded
Walmart SQL Interview Question
Walmart's leadership asked what share of the catalog is on discount. Before working out the share, you need two counts.
Return a single row with the total number of products as total_products and the number of products that have a discount recorded as discounted_products.
Asked of
- Data Analyst
- Analytics Engineer
- Data Engineer
- Data Scientist
- ML Engineer
productsTable15 rows
| Column Name | Type |
|---|---|
| product_id | BIGINT |
| product_name | VARCHAR |
| category | VARCHAR |
| brand | VARCHAR |
| price | DOUBLE |
| discount_pct | BIGINT |
| stock_quantity | BIGINT |
| launch_date | DATE |
| is_active | BOOLEAN |
productsExample Input
| product_id | product_name | category | brand | price | discount_pct | stock_quantity | launch_date | is_active |
|---|---|---|---|---|---|---|---|---|
| 1 | Wireless Mouse | Electronics | Logitech | 24.99 | 10 | 150 | 2023-02-14 | true |
| 2 | Mechanical Keyboard Pro | Electronics | Keychron | 119 | NULL | 40 | 2023-05-01 | true |
| 3 | Noise Canceling Headphones | Electronics | Sony | 299.99 | 15 | 0 | 2022-11-20 | true |
| 4 | Standing Desk | Furniture | Flexispot | 349 | NULL | 12 | 2023-08-09 | true |
| 5 | Ergonomic Chair Pro | Furniture | Steelcase | 1299 | 5 | 5 | 2021-06-30 | true |
| 6 | Desk Lamp | Furniture | NULL | 39.5 | NULL | 80 | 2024-01-15 | true |
| 7 | USB-C Hub | Electronics | Anker | 45 | 20 | 200 | 2023-03-22 | true |
| 8 | Notebook Set | Stationery | Moleskine | 18 | NULL | 0 | 2022-09-01 | false |
Example Output
| total_products | discounted_products |
|---|---|
| 8 | 4 |
Explanation
There are 8 products in the example. Only 4 of them have a discount recorded: the Wireless Mouse, Noise Canceling Headphones, Ergonomic Chair Pro and USB-C Hub. The other 4 have no discount, so they count toward the total but not toward the discounted products.
The example above is a small slice of the data. Your query runs against the full tables.
Company
Walmart
Difficulty
medium
Topic
null handling
Your query
Starting the SQL engine...