استعمال کے لحاظ سے MySQL sum گروپ؟ MySQL ڈیٹا بیس میں شمار کے لحاظ سے گروپ کی تفصیلی وضاحت

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;

درآمد کے کامیاب ہونے کے بعد، درج ذیل ایس کیو ایل بیان پر عمل کریں:

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 ہر ایک کے لاگ ان کی تعداد کی نمائندگی کرتا ہے۔

ہم ایک ایسا نام سیٹ کرنے کے لیے coalesce کا استعمال کر سکتے ہیں جو NUll، coalesce نحو کی جگہ لے سکے:

select coalesce(a,b,c);

پیرامیٹر کی تفصیل: اگر a==null، b کا انتخاب کریں؛ اگر b==null، c کا انتخاب کریں؛ اگر a!=null، a کا انتخاب کریں؛ اگر abc null ہے، تو 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 use? MySQL ڈیٹابیس میں شمار کے لحاظ سے گروپ کی تفصیلی وضاحت" آپ کے لیے مددگار ہے۔

اس مضمون کا لنک شیئر کرنے میں خوش آمدید:https://www.chenweiliang.com/cwl-477.html

تازہ ترین اپ ڈیٹس حاصل کرنے کے لیے چن ویلیانگ کے بلاگ کے ٹیلیگرام چینل میں خوش آمدید!

🔔 چینل ٹاپ ڈائرکٹری میں قیمتی "ChatGPT Content Marketing AI Tool Usage Guide" حاصل کرنے والے پہلے فرد بنیں! 🌟
📚 یہ گائیڈ بہت بڑی قیمت پر مشتمل ہے، 🌟یہ ایک نادر موقع ہے، اس سے محروم نہ ہوں! ⏰⌛💨
پسند آئے تو شیئر اور لائک کریں!
آپ کا اشتراک اور پسندیدگی ہماری مسلسل حوصلہ افزائی ہے!

 

评论 评论

آپ کا ای میل ایڈریس شائع نہیں کیا جائے گا۔ ضروری شعبوں کا استعمال کیا جاتا ہے * لیبل لگائیں

اوپر سکرول کریں