Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak mogę uzyskać liczbę klientów dziennie według unikalnego i powtarzającego się klienta w określonym terminie?

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)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Unikanie pojedynczego cudzysłowu w PHP podczas wstawiania do MySQL

  2. wyświetl nową linię mysql w HTML

  3. Błąd składni separatora MySQL

  4. Jak wygenerować skrypt z diagramu w środowisku MySQL Workbench

  5. Czy MySQL nadpisuje kolumnę o tej samej wartości podczas aktualizacji?