Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie kann ich die Anzahl der Kunden pro Tag nach einzelnen und wiederkehrenden Kunden für ein bestimmtes Datum ermitteln?

Sie können die Gesamtbestellungen pro Tag abrufen, indem Sie nach Bestelldatum gruppieren:

SELECT OrderDate, COUNT(OrderNumber) AS total FROM orders GROUP BY OrderDate

Und Sie können die Nr. der Erstbestellungen pro Tag aus der folgenden Abfrage :

SELECT OrderDate, COUNT(q1.CustomerID) AS first FROM (SELECT CustomerID, min(OrderDate) AS OrderDate FROM orders GROUP BY CustomerID)q1 GROUP BY q1.OrderDate

Treten Sie nun diesen beiden bei OrderDate bei, um die Verteilung von Erst- und Wiederholungsbestellungen zu erhalten:

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)