sql >> Database teknologi >  >> RDS >> Mysql

Hvordan kan jeg få antallet af kunder pr. dag efter unikke og gentagne kunder for en bestemt dato?

Du kan få de samlede ordrer pr. dag ved at gruppere på OrderDate:

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

Og du kan få nr. af første ordrer pr. dag fra følgende forespørgsel:

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

Slut dig nu til disse to på OrderDate for at få fordelingen af ​​første og gentagne ordrer :

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)


  1. Sideinddeling i SQL Server ved hjælp af OFFSET/FETCH

  2. Tovejs DB-kryptering sikker selv fra Admin

  3. Foretagelse af ændringer til flere poster baseret på ændring af enkelt post med SQL

  4. MariaDB CHARACTER_LENGTH() Forklaret