सर्वोत्तम ग्राहकों की पहचान करने के लिए आप MySQL में Decile की गणना कर सकते हैं। मूल रूप से, आप ग्राहकों को कुल बिक्री के आधार पर 10 समूहों में रैंक और समूहित करते हैं। परिणाम के आधार पर, आप अधिक केंद्रित, प्रासंगिक प्रतिधारण पहल के साथ आ सकते हैं। इसे करने के लिए तैयार प्रश्न है।
MySQL में Decile की गणना करें
उदाहरण के लिए, आपके पास एक टेबल है आदेश जिसमें प्रत्येक उपयोगकर्ता के लिए सभी उत्पाद ऑर्डर शामिल हैं। आप 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 | +-----------+----------+---------+---------------+
यहां एक क्वेरी है जिसका उपयोग आप योग के आधार पर MySQL में दशमलव की गणना करने के लिए कर सकते हैं। बस कॉलम - user_id, बिक्री और तालिका - ऑर्डर को बदलें। यह प्रत्येक उपयोगकर्ता के लिए कुल बिक्री को एकत्रित करता है। फिर यह उन्हें कुल बिक्री पर रैंक करता है। अंत में, यह रैंक का उपयोग करके दशमलव की गणना करता है।
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
यदि आपके पास तालिका में प्रत्येक उपयोगकर्ता के लिए पहले से ही कुल बिक्री है और आप सीधे तालिका का उपयोग दशमलव की गणना करने के लिए करना चाहते हैं, तो यहां एक प्रश्न है