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

Hitung desil di MySQL berdasarkan total

Anda dapat menghitung desil di MySQL untuk mengidentifikasi pelanggan terbaik. Pada dasarnya, Anda memberi peringkat dan mengelompokkan pelanggan ke dalam 10 grup berdasarkan total penjualan. Berdasarkan hasilnya, Anda dapat membuat inisiatif retensi yang lebih terfokus dan relevan. Ini kueri yang sudah jadi untuk melakukannya.

Menghitung Desil di MySQL

Misalnya, Anda memiliki tabel pesanan yang berisi semua pesanan produk untuk setiap pengguna. Anda ingin menghitung desil di MySQL.

order
+-----------+------------+----------+
|  user_id  |   product  |   sales  |
+-----------+------------+----------+
|     1     |     Soap   |    10    |
|     4     |   Perfume  |   100    |
|     1     |   Noodles  |   20     |
|     3     |     Deo    |   200    |
+-----------+------------+----------+
deciles
+-----------+----------+---------+---------------+
|  user_id  |   total  |  rank   |     decile    |
+-----------+----------+---------+---------------+
|     1     |    30    |    3    |       3       |
|     4     |   100    |    2    |       7       |
|     3     |   200    |    1    |      10       |
+-----------+----------+---------+---------------+

Berikut kueri yang dapat Anda gunakan untuk menghitung desil di MySQL berdasarkan total. Ganti saja kolom – user_id, sales dan table – order. Ini mengumpulkan total penjualan untuk setiap pengguna. Kemudian peringkat mereka pada total penjualan. Terakhir, ia menghitung desil menggunakan peringkat.

select user_id,total,rank,round(10*(cnt-rank+1)/cnt,0) as decile from   
(SELECT  user_id,total,@curRank := @curRank + 1 AS rank
FROM      (select user_id,sum(sales) as total from `order` group by user_id)
p, (SELECT @curRank := 0) r
ORDER BY  total desc ) as dt,(select count(distinct user_id) as cnt from
`order`) as ct

Jika Anda sudah memiliki total penjualan untuk setiap pengguna dalam tabel dan ingin langsung menggunakan tabel tersebut untuk menghitung desil, berikut kuerinya

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TAMPILKAN TABEL di MySQL

  2. MySQL vs MongoDB

  3. PHP untuk menyimpan gambar di MySQL atau tidak?

  4. Bahasa Kueri Doktrin mendapatkan Maks/Baris Terbaru Per Grup

  5. Virtualmin:Anda Tidak Memiliki Akses ke Database MySQL Ini Setelah Mengubah Kata Sandi