Mysql
 sql >> база данни >  >> RDS >> Mysql

Как мога да получа брой клиенти на ден по уникален и повтарящ се клиент за конкретна дата?

Можете да получите общия брой поръчки на ден, като групирате на OrderDate:

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

И можете да получите не. от първите поръчки на ден от следната заявка :

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

Сега се присъединете към тези две на OrderDate, за да получите разпределението на първата и повторната поръчка:

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. Инсталаторът на MySql 5.7 не успява да открие преразпределяем VS 2013

  2. Поддръжка на подготвени изявления от страна на сървъра с PDO?

  3. как да попречите на базата данни да добавя наклонена черта към кавички

  4. MySQL в облака - плюсове и минуси на Amazon RDS

  5. ГРЕШКА 2002 (HY000):Не мога да се свържа с локален MySQL сървър чрез сокет '/tmp/mysql.sock'