Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Challenge: Top Customers by Order Count | Subqueries in E-commerce Analytics
Subqueries in SQL
Section 1. Chapter 3
single

single

bookChallenge: Top Customers by Order Count

Swipe to show menu

Task

Swipe to start coding

Write an SQL query to find the top 3 customers who have placed the highest number of orders, but do not use any JOINs.

You are working with two tables: customers (contains customer_id, name) and orders (contains customer_id for each order).

Follow these steps:

  • Count how many orders each customer has made by grouping the orders table by customer_id and counting the rows. Name this result order_count.
  • For each customer, retrieve the customer’s name from the customers table using a subquery in the SELECT clause or WHERE clause (but do not use JOIN syntax).
  • Select the following columns: customer_id, name, and order_count.
  • Sort the results:
    • First by order_count in descending order (more orders first);
    • Then by customer_id in ascending order (to break ties).
  • Return only the top 3 rows.

The result should show the 3 customers with the highest number of orders, along with their names and order counts.

Solution

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 1. Chapter 3
single

single

Ask AI

expand

Ask AI

ChatGPT

Ask anything or try one of the suggested questions to begin our chat

some-alt