उपयोग के आधार पर MySQL योग समूह? MySQL डेटाबेस में गिनती द्वारा समूह की विस्तृत व्याख्या

MySQL उपयोग के अनुसार योग समूह?MySQL डेटाबेसगिनती द्वारा समूह की विस्तृत व्याख्या

MySQL ग्रुप बाय स्टेटमेंट

ग्रुप बाय स्टेटमेंट एक या अधिक कॉलम के आधार पर परिणाम सेट करता है।

समूहीकृत कॉलम पर हम COUNT, SUM, AVG, आदि कार्यों का उपयोग कर सकते हैं।

सिंटैक्स द्वारा ग्रुप

SELECT column_name, function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;

उदाहरण प्रदर्शन

इस अध्याय में उदाहरण निम्न तालिका संरचना और डेटा का उपयोग करता है। इसका उपयोग करने से पहले, हम निम्नलिखित डेटा को डेटाबेस में आयात कर सकते हैं।

SET NAMES utf8;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
--  Table structure for `employee_tbl`
-- ----------------------------
DROP TABLE IF EXISTS `employee_tbl`;
CREATE TABLE `employee_tbl` (
  `id` int(11) NOT NULL,
  `name` char(10) NOT NULL DEFAULT '',
  `date` datetime NOT NULL,
  `singin` tinyint(4) NOT NULL DEFAULT '0' COMMENT '登录次数',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
--  Records of `employee_tbl`
-- ----------------------------
BEGIN;
INSERT INTO `employee_tbl` VALUES ('1', '小明', '2016-04-22 15:25:33', '1'), ('2', '小王', '2016-04-20 15:25:47', '3'), ('3', '小丽', '2016-04-19 15:26:02', '2'), ('4', '小王', '2016-04-07 15:26:14', '4'), ('5', '小明', '2016-04-11 15:26:40', '4'), ('6', '小明', '2016-04-04 15:26:54', '2');
COMMIT;

SET FOREIGN_KEY_CHECKS = 1;

आयात सफल होने के बाद, निम्न SQL कथन निष्पादित करें:

mysql> set names utf8;
mysql> SELECT * FROM employee_tbl;
+----+--------+---------------------+--------+
| id | name   | date                | singin |
+----+--------+---------------------+--------+
|  1 | 小明 | 2016-04-22 15:25:33 |      1 |
|  2 | 小王 | 2016-04-20 15:25:47 |      3 |
|  3 | 小丽 | 2016-04-19 15:26:02 |      2 |
|  4 | 小王 | 2016-04-07 15:26:14 |      4 |
|  5 | 小明 | 2016-04-11 15:26:40 |      4 |
|  6 | 小明 | 2016-04-04 15:26:54 |      2 |
+----+--------+---------------------+--------+
6 rows in set (0.00 sec)

आगे हम डेटा तालिका को नाम से समूहित करने के लिए ग्रुप बाय स्टेटमेंट का उपयोग करते हैं और गिनते हैं कि प्रत्येक व्यक्ति के पास कितने रिकॉर्ड हैं:

mysql> SELECT name, COUNT(*) FROM   employee_tbl GROUP BY name;
+--------+----------+
| name   | COUNT(*) |
+--------+----------+
| 小丽 |        1 |
| 小明 |        3 |
| 小王 |        2 |
+--------+----------+
3 rows in set (0.01 sec)

रोलअप के साथ प्रयोग करें

रोलअप के साथ समूहीकृत आँकड़ों के आधार पर समान आँकड़े (SUM, AVG, COUNT...) लागू कर सकते हैं।

उदाहरण के लिए, हम उपरोक्त डेटा तालिका को नाम से समूहित करते हैं, और फिर गिनते हैं कि प्रत्येक व्यक्ति ने कितनी बार लॉग इन किया है:

mysql> SELECT name, SUM(singin) as singin_count FROM  employee_tbl GROUP BY name WITH ROLLUP;
+--------+--------------+
| name   | singin_count |
+--------+--------------+
| 小丽 |            2 |
| 小明 |            7 |
| 小王 |            7 |
| NULL   |           16 |
+--------+--------------+
4 rows in set (0.00 sec)

रिकॉर्ड NULL सभी के लिए लॉगिन की संख्या का प्रतिनिधित्व करता है।

हम एक नाम सेट करने के लिए कोलेस का उपयोग कर सकते हैं जो एनयूएल, कोलेस सिंटैक्स को प्रतिस्थापित कर सकता है:

select coalesce(a,b,c);

पैरामीटर विवरण: यदि a==null, b चुनें; यदि b==null, c चुनें; यदि a!=null, a चुनें; यदि abc शून्य है, तो अशक्त (अर्थहीन) लौटें।

निम्नलिखित उदाहरण में यदि नाम खाली है तो हम इसके बजाय कुल का उपयोग करते हैं:

mysql> SELECT coalesce(name, '总数'), SUM(singin) as singin_count FROM  employee_tbl GROUP BY name WITH ROLLUP;
+--------------------------+--------------+
| coalesce(name, '总数') | singin_count |
+--------------------------+--------------+
| 小丽                   |            2 |
| 小明                   |            7 |
| 小王                   |            7 |
| 总数                   |           16 |
+--------------------------+--------------+
4 rows in set (0.01 sec)

होप चेन वेइलियांग ब्लॉग ( https://www.chenweiliang.com/ ) साझा "MySQL योग समूह उपयोग द्वारा? MySQL डेटाबेस में गणना द्वारा समूह की विस्तृत व्याख्या" आपके लिए सहायक है।

इस लेख का लिंक साझा करने के लिए आपका स्वागत है:https://www.chenweiliang.com/cwl-477.html

नवीनतम अपडेट प्राप्त करने के लिए चेन वेइलियांग के ब्लॉग के टेलीग्राम चैनल में आपका स्वागत है!

🔔 चैनल शीर्ष निर्देशिका में मूल्यवान "चैटजीपीटी कंटेंट मार्केटिंग एआई टूल उपयोग गाइड" प्राप्त करने वाले पहले व्यक्ति बनें! 🌟
📚 इस गाइड में बहुत महत्व है, 🌟यह एक दुर्लभ अवसर है, इसे न चूकें! ⏰⌛💨
अच्छा लगे तो शेयर और लाइक करें!
आपका साझा करना और पसंद करना हमारी निरंतर प्रेरणा है!

 

发表 评论

आपकी ईमेल आईडी प्रकाशित नहीं की जाएगी। आवश्यक फ़ील्ड का उपयोग किया जाता है * लेबल

शीर्ष तक स्क्रॉल करें