Bạn có thể nhận được tổng số đơn đặt hàng mỗi ngày bằng cách nhóm vào Ngày đặt hàng:
SELECT OrderDate, COUNT(OrderNumber) AS total FROM orders GROUP BY OrderDate
Và bạn có thể nhận được không. đơn đặt hàng đầu tiên mỗi ngày từ truy vấn sau:
SELECT OrderDate, COUNT(q1.CustomerID) AS first FROM (SELECT CustomerID, min(OrderDate) AS OrderDate FROM orders GROUP BY CustomerID)q1 GROUP BY q1.OrderDate
Bây giờ, hãy tham gia hai điều này trên OrderDate để nhận được phân phối các đơn đặt hàng đầu tiên và lặp lại:
SELECT a.OrderDate, a.first, (b.total - a.first) AS repeated FROM
(SELECT OrderDate, COUNT(q1.CustomerID) AS first FROM (SELECT CustomerID, min(OrderDate) AS OrderDate FROM orders GROUP BY CustomerID)q1 GROUP BY q1.OrderDate)a
JOIN
(SELECT OrderDate, COUNT(OrderNumber) AS total FROM orders GROUP BY OrderDate)b
on(a.OrderDate = b.OrderDate)