Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL में आवृत्ति से दशमलव की गणना करें

कभी-कभी आप MySQL में आवृत्ति या गणना से दशमलव की गणना करना चाह सकते हैं। उदाहरण के लिए, ग्राहकों को कुल बिक्री के बजाय खरीद या ऑर्डर की संख्या के आधार पर रैंक करना

आवृत्ति से दशमलव की गणना करें

इसके लिए अभी तक कोई कार्य नहीं हैं। इसे करने के लिए तैयार प्रश्न है।

उदाहरण के लिए, आपके पास एक टेबल है आदेश जिसमें प्रत्येक उपयोगकर्ता के लिए सभी उत्पाद ऑर्डर शामिल हैं। आप आदेशों की आवृत्ति से दशमलव की गणना करना चाहते हैं।

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

यहां एक क्वेरी है जिसका उपयोग आप आवृत्ति से दशमलव की गणना करने के लिए कर सकते हैं या 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,count(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

यदि आपके पास तालिका में प्रत्येक उपयोगकर्ता के लिए पहले से ही आदेशों की संख्या है और आवृत्ति या गणना से दशमलव की गणना करने के लिए सीधे तालिका का उपयोग करना चाहते हैं, तो यहां एक प्रश्न है

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL स्क्रिप्ट कमांड लाइन के लिए पैरामीटर पास करें

  2. JDBC के साथ MySQL का उपयोग करके .sql स्क्रिप्ट चलाना

  3. मैं एक बड़ी (14 जीबी) MySQL डंप फ़ाइल को एक नए MySQL डेटाबेस में कैसे आयात कर सकता हूं?

  4. MySQL सबस्ट्रिंग निष्कर्षण सीमांकक का उपयोग कर

  5. एक क्वेरी में एकाधिक mysql INSERT कथन php