వినియోగం ద్వారా 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)

తర్వాత మేము డేటా టేబుల్‌ని పేరు ద్వారా సమూహపరచడానికి 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==శూన్యమైతే, bని ఎంచుకోండి; b==శూన్యమైతే, cని ఎంచుకోండి; a!=శూన్యమైతే, 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

తాజా నవీకరణలను పొందడానికి చెన్ వీలియాంగ్ బ్లాగ్ యొక్క టెలిగ్రామ్ ఛానెల్‌కు స్వాగతం!

🔔 ఛానెల్ టాప్ డైరెక్టరీలో విలువైన "ChatGPT కంటెంట్ మార్కెటింగ్ AI టూల్ యూసేజ్ గైడ్"ని పొందిన మొదటి వ్యక్తి అవ్వండి! 🌟
📚 ఈ గైడ్‌లో భారీ విలువ ఉంది, 🌟ఇది ఒక అరుదైన అవకాశం, దీన్ని మిస్ చేయకండి! ⏰⌛💨
నచ్చితే లైక్ చేసి షేర్ చేయండి!
మీ భాగస్వామ్యం మరియు ఇష్టాలు మా నిరంతర ప్రేరణ!

 

发表 评论

మీ ఇమెయిల్ చిరునామా ప్రచురించబడదు. అవసరమైన ఫీల్డ్‌లు ఉపయోగించబడతాయి * లేబుల్

పైకి స్క్రోల్ చేయండి