Wednesday, January 1, 2025

What is the SQL query to find the number of customers placing orders in each month?

 To find the number of customers placing orders in each month, you would need a table that records the orders placed by customers, such as an orders table. This table would typically include fields such as order_id, customer_id, and order_date.

Assuming the table is named orders and contains these columns:

  • order_id: A unique identifier for each order.
  • customer_id: A unique identifier for each customer.
  • order_date: The date the order was placed.

The SQL query to count the number of unique customers placing orders each month would look like this:

SELECT
    EXTRACT(YEAR FROM order_date) AS year,
    EXTRACT(MONTH FROM order_date) AS month,
    COUNT(DISTINCT customer_id) AS num_customers
FROM
    orders
GROUP BY
    EXTRACT(YEAR FROM order_date),
    EXTRACT(MONTH FROM order_date)
ORDER BY
    year, month;

Explanation:

  • EXTRACT(YEAR FROM order_date): Extracts the year from the order_date column.
  • EXTRACT(MONTH FROM order_date): Extracts the month from the order_date column.
  • COUNT(DISTINCT customer_id): Counts the number of unique customers who placed orders in that month.
  • GROUP BY: Groups the results by year and month.
  • ORDER BY: Orders the results first by year and then by month to ensure chronological order.

Example Output:

year month num_customers
2023 1 150
2023 2 180
2023 3 200
... ... ...

This query provides the number of unique customers who placed orders for each month.

No comments:

Post a Comment