Vous pouvez obtenir le total des commandes par jour en regroupant sur OrderDate :
SELECT OrderDate, COUNT(OrderNumber) AS total FROM orders GROUP BY OrderDate
Et vous pouvez obtenir le non. des premières commandes par jour à partir de la requête suivante :
SELECT OrderDate, COUNT(q1.CustomerID) AS first FROM (SELECT CustomerID, min(OrderDate) AS OrderDate FROM orders GROUP BY CustomerID)q1 GROUP BY q1.OrderDate
Rejoignez maintenant ces deux sur OrderDate pour obtenir la distribution des premières commandes et des commandes répétées :
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)