MySQL সমষ্টি ব্যবহার দ্বারা গ্রুপ? MySQL ডাটাবেসে গণনা অনুসারে গ্রুপের বিস্তারিত ব্যাখ্যা

MySQL-এ SUM GROUP BY কীভাবে ব্যবহার করবেন? MySQL ডাটাবেসে GROUP BY COUNT-এর বিস্তারিত ব্যাখ্যা ।

MySQL গ্রুপ বিবৃতি দ্বারা

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 সিনট্যাক্স প্রতিস্থাপন করতে পারে এমন একটি নাম সেট করতে সমন্বিত ব্যবহার করতে পারি:

select coalesce(a,b,c);

প্যারামিটারের বিবরণ: যদি a==null, b চয়ন করুন; যদি b==null, c নির্বাচন করুন; যদি a!=null, a চয়ন করুন; যদি abc নাল হয়, তাহলে null (অর্থহীন) দিন।

নিচের উদাহরণে যদি নামটি খালি থাকে তাহলে আমরা এর পরিবর্তে মোট ব্যবহার করি:

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 Usage? Detailed Explanation of GROUP BY COUNT in MySQL Database" আর্টিকেলটি আপনার জন্য সহায়ক হবে।

এই নিবন্ধটির লিঙ্কটি নির্দ্বিধায় শেয়ার করুন: https://www.chenweiliang.com/cwl-477.html

আরও লুকানো কৌশল 🔑 জানতে, আমাদের টেলিগ্রাম চ্যানেলে যোগদান করতে স্বাগতম!

ভালো লাগলে শেয়ার এবং লাইক করুন! আপনার শেয়ার এবং লাইক আমাদের অব্যাহত অনুপ্রেরণা!

 

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

উপরে যান