首页 / MYSQL / 21.MySQL中的聚合函数
21.MySQL中的聚合函数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了21.MySQL中的聚合函数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2301字,纯文字阅读大概需要4分钟。
内容图文
![21.MySQL中的聚合函数](/upload/InfoBanner/zyjiaocheng/522/7ff18afbd975473192bba5c7543c41e6.jpg)
COUNT()、SUM()、AVG()、MAX()、MIN()和GROUP_CONCAT()函数中可以在参数前添加DISTINCT,表示对不重复的记录进行相关操作。
COUNT()的参数设置为“*”时,表示统计符合条件的所有记录(包含NULL)。
1.准备
1 CREATE DATABASE mahaiwuji; 2 USE mahaiwuji; 3 CREATE TABLE goods ( 4 id INT, 5 name VARCHAR (32), 6 price INT 7 ) ENGINE = INNODB DEFAULT CHARSET = utf8; 8 ? 9 INSERT INTO goods VALUES (1,‘书‘,10); 10 INSERT INTO goods VALUES (2,‘键盘‘,11); 11 INSERT INTO goods VALUES (3,‘鼠标‘,15); 12 INSERT INTO goods VALUES (4,‘手机‘,20); 13 INSERT INTO goods VALUES (5,NULL,15);
2.COUNT()
1 SELECT COUNT(id) FROM goods; -- 5 2 ? 3 SELECT COUNT(name) FROM goods; -- 4,NULL不统计 4 ? 5 SELECT COUNT(price) FROM goods; -- 5 6 ? 7 SELECT COUNT(DISTINCT price) FROM goods; -- 4,因为有2个15,不重复的数量为4 8 ? 9 SELECT COUNT(*) FROM goods; -- 5
3.SUM()
1 SELECT SUM(price) FROM goods; -- 71 2 ? 3 SELECT SUM(DISTINCT price) FROM goods; -- 56,因为有2个15,只算了一个
4.AVG()
1 SELECT AVG(price) FROM goods; -- 14.2 2 ? 3 SELECT AVG(DISTINCT price) FROM goods; -- 14,因为有2个15,只算了一个
5.MAX()
1 SELECT MAX(price) FROM goods; -- 20 2 ? 3 SELECT MAX(DISTINCT price) FROM goods; -- 20
6.MIN()
1 SELECT MIN(price) FROM goods; -- 10 2 ? 3 SELECT MIN(DISTINCT price) FROM goods; -- 10
7.GROUP_CONCAT()
1 -- 书,键盘,鼠标,手机 2 SELECT GROUP_CONCAT(name) FROM goods;
8.JSON_ARRAYAGG()
1 -- ["书", "键盘", "鼠标", "手机", null] 2 SELECT JSON_ARRAYAGG(name) FROM goods;
9.JSON_OBJECTAGG()
1 -- {"1": "书", "2": "键盘", "3": "鼠标", "4": "手机", "5": null} 2 SELECT JSON_OBJECTAGG(id,name) FROM goods; 3 ? 4 -- error,因为id为5的name是NULL,JSON中键不能为NULL 5 SELECT JSON_OBJECTAGG(name,price) FROM goods;
21.MySQL中的聚合函数
标签:database varchar 统计 charset arch -- nod 字段 函数名
本文系统来源:https://www.cnblogs.com/mahaiwuji/p/12683632.html
内容总结
以上是互联网集市为您收集整理的21.MySQL中的聚合函数全部内容,希望文章能够帮你解决21.MySQL中的聚合函数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。