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

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

MySQL GROUP कथन द्वारा

GROUP BY कथनले एक वा बढी स्तम्भहरूमा आधारित परिणामलाई समूह बनाउँछ।

समूहबद्ध स्तम्भमा हामी COUNT, SUM, AVG, आदि प्रकार्यहरू प्रयोग गर्न सक्छौं।

GROUP सिन्ट्याक्स द्वारा

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)

त्यसपछि हामी नामद्वारा डेटा तालिका समूहबद्ध गर्न GROUP BY कथन प्रयोग गर्छौं र प्रत्येक व्यक्तिको कति रेकर्डहरू छन् भनेर गणना गर्छौं:

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

रोलअपको साथ प्रयोग गर्नुहोस्

ROLLUP ले समूहबद्ध तथ्याङ्कको आधारमा समान तथ्याङ्कहरू (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 ले सबैका लागि लगइनहरूको संख्या प्रतिनिधित्व गर्दछ।

NUll, coalesce सिन्ट्याक्स प्रतिस्थापन गर्न सक्ने नाम सेट गर्न हामी coalesce प्रयोग गर्न सक्छौं:

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 sum group by use? MySQL डाटाबेसमा गणना द्वारा समूहको विस्तृत व्याख्या" तपाईलाई उपयोगी छ।

यस लेखको लिङ्क साझा गर्न स्वागत छ:https://www.chenweiliang.com/cwl-477.html

नवीनतम अपडेटहरू प्राप्त गर्न चेन वेइलियाङको ब्लगको टेलिग्राम च्यानलमा स्वागत छ!

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

 

评论 评论

तपाईको इ-मेल ठेगाना प्रकाशित हुँदैन। आवाश्यक फिल्डहरू प्रयोग भएको छ * लेबल

शीर्षमा स्क्रोल गर्नुहोस्