लेख निर्देशिका
, MySQL वापरानुसार बेरीज गट?MySQL डेटाबेसमोजणीनुसार गटाचे तपशीलवार स्पष्टीकरण
विधानानुसार MySQL ग्रुप
GROUP BY विधान एक किंवा अधिक स्तंभांवर आधारित निकालाचे गटबद्ध करते.
गटबद्ध स्तंभावर आपण 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)
पुढे आम्ही डेटा सारणी नावानुसार गटबद्ध करण्यासाठी 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
नवीनतम अपडेट्स मिळवण्यासाठी चेन वेइलियांगच्या ब्लॉगच्या टेलिग्राम चॅनेलवर आपले स्वागत आहे!
📚 या मार्गदर्शकामध्ये प्रचंड मूल्य आहे, 🌟ही एक दुर्मिळ संधी आहे, ती चुकवू नका! ⏰⌛💨
आवडल्यास शेअर आणि लाईक करा!
तुमचे शेअरिंग आणि लाईक्स ही आमची सतत प्रेरणा आहे!