Bạn có thể tính toán decile trong MySQL để xác định những khách hàng tốt nhất. Về cơ bản, bạn xếp hạng và nhóm khách hàng thành 10 nhóm dựa trên tổng doanh số bán hàng. Dựa trên kết quả, bạn có thể đưa ra các sáng kiến giữ chân có liên quan và tập trung hơn. Đây là một truy vấn được tạo sẵn để thực hiện.
Tính toán Decile trong MySQL
Ví dụ:Bạn có một bảng đơn đặt hàng trong đó chứa tất cả các đơn đặt hàng sản phẩm cho mỗi người dùng. Bạn muốn tính toán decile trong 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 | +-----------+----------+---------+---------------+
Đây là một truy vấn bạn có thể sử dụng để tính toán số thập phân trong MySQL dựa trên tổng số. Chỉ cần thay thế các cột - user_id, sales và table - order. Nó tổng hợp tổng doanh số cho mỗi người dùng. Sau đó, nó xếp hạng chúng trên tổng doanh số bán hàng. Cuối cùng, nó tính toán decile bằng cách sử dụng xếp hạng.
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
Nếu bạn đã có tổng doanh số bán hàng cho mỗi người dùng trong bảng và muốn trực tiếp sử dụng bảng để tính toán decile, thì đây là một truy vấn