Możesz uzyskać całkowitą liczbę zamówień dziennie, grupując je według daty zamówienia:
SELECT OrderDate, COUNT(OrderNumber) AS total FROM orders GROUP BY OrderDate
I możesz dostać nie. pierwszych zamówień dziennie z następującego zapytania :
SELECT OrderDate, COUNT(q1.CustomerID) AS first FROM (SELECT CustomerID, min(OrderDate) AS OrderDate FROM orders GROUP BY CustomerID)q1 GROUP BY q1.OrderDate
Teraz dołącz do tych dwojga w dniu zamówienia, aby uzyskać rozkład pierwszych i powtarzających się zamówień:
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)