Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana saya bisa mendapatkan jumlah pelanggan per hari dengan pelanggan unik dan berulang untuk tanggal tertentu?

Anda bisa mendapatkan total pesanan per hari dengan mengelompokkan pada OrderDate:

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

Dan Anda bisa mendapatkan no. pesanan pertama per hari dari kueri berikut:

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

Sekarang gabungkan keduanya di OrderDate untuk mendapatkan distribusi pesanan pertama dan berulang :

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. Tidak ada file atau direktori atau Tidak ada host yang diketahui saat menjalankan migrasi

  2. Apa yang setara dengan bind_result di PDO?

  3. MySQL - Masalah dengan membuat fungsi yang ditentukan pengguna (UDF)

  4. Kunci utama MySQL Auto increment meningkat 10

  5. bendera 'aktif' atau tidak?