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

MySQL में कॉलम के प्रतिशत की गणना कैसे करें

कभी-कभी आपको यह समझने के लिए अपने डेटा में एक कॉलम (जैसे बिक्री, राजस्व) के प्रतिशत की गणना करने की आवश्यकता हो सकती है कि आपके कॉलम के कुल मूल्य का कितना प्रतिशत प्रत्येक पंक्ति (जैसे देश, राज्य, आदि) से आ रहा है। चूंकि इस मान की गणना करने के लिए कोई आउट-ऑफ-द-बॉक्स फ़ंक्शन नहीं है, इसलिए आपको इसके लिए एक SQL क्वेरी लिखनी होगी। यहां बताया गया है कि MySQL में कॉलम के प्रतिशत की गणना कैसे करें

MySQL में कॉलम के प्रतिशत की गणना कैसे करें

मान लें कि आपके पास निम्न तालिका है जैसा कि नीचे दिखाया गया है।

mysql> create table sales(rep varchar(255),sale int);

mysql> insert into sales values('Bob',15),('Sally',30),('Peter',15);

mysql> select * from sales;
+-------+------+
|  rep  | sale |
+-------+------+
|  Bob  |  15  |
| Sally |  30  |
| Peter |  15  |
+-------+------+

मान लें कि आप 'कुल का प्रतिशत' कॉलम प्रदर्शित करना चाहते हैं जो कुल बिक्री का केवल प्रतिशत है कॉलम, जैसा कि नीचे दिखाया गया है।

+-------+------+------------------+
|  rep  | sale | percent of total |
+-------+------+------------------+
|  Bob  |  15  |        25        |
| Sally |  30  |        50        |
| Peter |  15  |        25        |
+-------+------+------------------+

आप इसे केवल एक क्वेरी का उपयोग करके कई तरीकों से कर सकते हैं। कुल और प्रतिशत की गणना के लिए अलग-अलग प्रश्न लिखने की आवश्यकता नहीं है। आइए उनमें से प्रत्येक को देखें

बोनस पढ़ें : MySQL में दो स्तंभों के प्रतिशत की गणना कैसे करें

क्रॉस जॉइन का उपयोग करके MySQL में कॉलम के प्रतिशत की गणना कैसे करें

MySQL में कॉलम के प्रतिशत की गणना करने के लिए, आप बस sum() . से जुड़ सकते हैं बिक्री . की मूल तालिका के साथ कॉलम।

SELECT Rep, Sale, Sale * 100 / t.s AS `percent of total`
FROM sales
CROSS JOIN (SELECT SUM(sale) AS s FROM sales) t;

+-------+------+------------------+
|  rep  | sale | percent of total |
+-------+------+------------------+
|  Bob  |  15  |        25        |
| Sally |  30  |        50        |
| Peter |  15  |        25        |
+-------+------+------------------+

यदि आप अपने डेटा को फ़िल्टर करने के लिए जहां क्लॉज जोड़ना चाहते हैं, तो आपको इसे क्रॉस जॉइन के बाद रखना होगा, जैसा कि नीचे दिखाया गया है। अन्यथा, आपको एक त्रुटि मिलेगी।

SELECT Rep, Sale, Sale * 100 / t.s AS `percent of total`
FROM sales
CROSS JOIN (SELECT SUM(sale) AS s FROM sales) t where Rep='Bob';
+------+------+------------------+
| Rep  | Sale | percent of total |
+------+------+------------------+
| Bob  |  15  |       25         |
+------+------+------------------+

हालाँकि, यदि आप कॉलम के योग के दौरान जहाँ क्लॉज़ जोड़ना चाहते हैं, तो आपको इसे कुल के चुनिंदा क्लॉज़ में जोड़ना होगा, जैसा कि नीचे दिखाया गया है। मान लीजिए, आप बॉब को कुल योग से ही बाहर करना चाहते हैं, तो इसे करने के लिए यहां एक प्रश्न दिया गया है।

SELECT Rep, Sale, Sale * 100 / t.s AS `percent of total` 
FROM sales 
CROSS JOIN (SELECT SUM(sale) AS s FROM sales where Rep<>'Bob') t 
where Rep<>'Bob';
+-------+------+------------------+
|  Rep  | Sale | percent of total |
+-------+------+------------------+
| Sally |  30  |      66.6667     |
| Peter |  15  |      33.3333     |
+-------+------+------------------+

बोनस पढ़ें : MySQL में सप्ताह दर सप्ताह प्रतिशत वृद्धि की गणना कैसे करें

SUBSELECT/SUBQUERY का उपयोग करके MySQL में कॉलम के प्रतिशत की गणना कैसे करें

जैसा कि नीचे दिखाया गया है, आप जॉइन का उपयोग करने के बजाय, उप-चयन का उपयोग करके कॉलम के प्रतिशत की गणना भी कर सकते हैं।

SELECT Rep, Sale, 
Sale * 100 / (SELECT SUM(sale) AS s FROM sales) AS `percent of total`
FROM sales;

+-------+------+------------------+
|  rep  | sale | percent of total |
+-------+------+------------------+
|  Bob  |  15  |        25        |
| Sally |  30  |        50        |
| Peter |  15  |        25        |
+-------+------+------------------+

यदि आप अपने डेटा को फ़िल्टर करने के लिए जहां क्लॉज जोड़ना चाहते हैं, तो आपको इसे क्रॉस जॉइन के बाद रखना होगा, जैसा कि नीचे दिखाया गया है। अन्यथा, आपको एक त्रुटि मिलेगी।

SELECT Rep, Sale, 
Sale * 100 / (SELECT SUM(sale) AS s FROM sales) AS `percent of total` 
FROM sales
where Rep='Bob';
+--------+--------+-------------------+
|   Rep  |  Sale  |  percent of total |
+--------+--------+-------------------+
|  Bob   |    15  |         25        |
+--------+--------+-------------------+

हालाँकि, यदि आप कॉलम के योग के दौरान जहाँ क्लॉज़ जोड़ना चाहते हैं, तो आपको इसे टोटल के सेलेक्ट क्लॉज़ में जोड़ना होगा। मान लीजिए, आप बॉब को कुल योग से ही बाहर करना चाहते हैं, तो इसे करने के लिए यहां एक प्रश्न दिया गया है।

SELECT Rep, Sale, 
Sale * 100 / (SELECT SUM(sale) AS s FROM sales where Rep='Bob') AS `percent of total` 
FROM sales
where Rep='Bob';
+-------+------+------------------+
|  Rep  | Sale | percent of total |
+-------+------+------------------+
| Sally |  30  |      66.6667     |
| Peter |  15  |      33.3333     |
+-------+------+------------------+

MySQL में कॉलम के प्रतिशत की गणना करने के लिए आप अपनी आवश्यकता के अनुसार उपरोक्त प्रश्नों को कस्टमाइज़ कर सकते हैं।

इसके अलावा, आप डेटा को पाई चार्ट या डैशबोर्ड में प्लॉट करने के लिए रिपोर्टिंग टूल का उपयोग कर सकते हैं। यहाँ Ubiq का उपयोग करके बनाए गए पाई चार्ट का एक उदाहरण दिया गया है।

यदि आप MySQL डेटाबेस से चार्ट, डैशबोर्ड और रिपोर्ट बनाना चाहते हैं, तो आप Ubiq को आज़मा सकते हैं। हम 14-दिन का निःशुल्क परीक्षण प्रदान करते हैं।

  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. MySQL में प्रत्येक 'समूह द्वारा' की 'अंतिम' पंक्ति लौटाना

  3. MySQL:लोड डेटा स्थानीय जानकारी सक्षम करें

  4. पीएचपी पीडीओ तैयार बयान

  5. MySQL रूट पासवर्ड कैसे रीसेट करें