Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào tôi có thể nhận được số lượng khách hàng mỗi ngày theo khách hàng duy nhất và khách hàng lặp lại cho ngày cụ thể?

Bạn có thể nhận được tổng số đơn đặt hàng mỗi ngày bằng cách nhóm vào Ngày đặt hàng:

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

Và bạn có thể nhận được không. đơn đặt hàng đầu tiên mỗi ngày từ truy vấn sau:

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

Bây giờ, hãy tham gia hai điều này trên OrderDate để nhận được phân phối các đơn đặt hàng đầu tiên và lặp lại:

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. Cú pháp BẢNG ALTER SQL - Được DBMS liệt kê

  2. SQL-alchemy:ValueError có quá nhiều giá trị để giải nén?

  3. Làm cách nào để tìm kiếm dấu gạch chéo (\) trong MySQL? và tại sao không cần thoát (\) cho where (=) nhưng lại bắt buộc phải Like?

  4. Cách XÓA một cột khỏi một bảng trong MySQL bằng cách sử dụng số cột

  5. Lỗi .Net MySql Khóa đã cho không có trong từ điển