MySQL sum nga grupo pinaagi sa paggamit? Detalyadong pagpatin-aw sa grupo pinaagi sa ihap sa MySQL database

MySQL I-sumada ang grupo pinaagi sa paggamit?database sa MySQLDetalyadong pagpatin-aw sa grupo pinaagi sa ihap

MySQL GROUP BY pahayag

Ang GROUP BY nga pahayag naggrupo sa resulta nga gitakda base sa usa o daghan pang mga kolum.

Sa grupo nga kolum mahimo natong gamiton ang COUNT, SUM, AVG, ug uban pa nga mga function.

GROUP PINAAGI sa syntax

SELECT column_name, function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;

Pananglitan nga demonstrasyon

Ang pananglitan niini nga kapitulo naggamit sa mosunod nga estraktura ug datos sa lamesa.Sa dili pa kini gamiton, mahimo natong i-import ang mosunod nga datos ngadto sa database.

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;

Human malampuson ang pag-import, ipatuman ang mosunod nga pahayag sa 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)

Sunod atong gamiton ang GROUP BY nga pahayag sa paggrupo sa talaan sa datos pinaagi sa ngalan ug ihap kung pila ang mga rekord sa matag tawo:

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

Gamita WITH ROLLUP

ANG WITH ROLLUP mahimong mag-implementar sa samang estadistika (SUM, AVG, COUNT...) base sa gigrupong estadistika.

Pananglitan, among gigrupo ang naa sa ibabaw nga lamesa sa datos pinaagi sa ngalan, ug dayon ihap ang gidaghanon sa mga higayon nga ang matag tawo naka-log in:

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)

Ang rekord nga NULL nagrepresentar sa gidaghanon sa mga login alang sa tanan.

Mahimo natong gamiton ang coalesce aron magbutang og ngalan nga makapuli sa NUll, coalesce syntax:

select coalesce(a,b,c);

Deskripsyon sa parametro: kung a==null, pilia ang b; kung b==null, pilia ang c; kung a!=null, pilia ang a; kung ang abc null, ibalik nga null (walay kahulogan).

Sa mosunod nga pananglitan kung ang ngalan walay sulod gigamit namo ang kinatibuk-an sa baylo:

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)

Paglaum Chen Weiliang Blog ( https://www.chenweiliang.com/ ) mipaambit sa "MySQL sum group pinaagi sa paggamit? Ang Detalyadong Pagpatin-aw sa Grupo pinaagi sa Ihap sa MySQL Database" makatabang kanimo.

Welcome sa pagpaambit sa link niini nga artikulo:https://www.chenweiliang.com/cwl-477.html

Malipayon nga pag-abut sa channel sa Telegram sa blog ni Chen Weiliang aron makuha ang labing bag-ong mga update!

🔔 Mahimong una nga makakuha sa bililhon nga "ChatGPT Content Marketing AI Tool Usage Guide" sa direktoryo sa taas nga channel! 🌟
📚 Kini nga giya adunay daghang kantidad, 🌟Kini usa ka talagsaon nga oportunidad, ayaw palabya ​​kini! ⏰⌛💨
Share ug like kung ganahan ka!
Ang imong pagpaambit ug pag-like mao ang among padayon nga kadasig!

 

发表 评论

Ang imong email address dili mapatik. Gigamit ang mga kinahanglanon nga uma * Label

scroll sa ibabaw