作者:fion依依315 | 来源:互联网 | 2023-10-13 10:11
SQL中的聚集函数?SQL函数包含了算术函数,字符串函数,日期函数,转换函数。还有一函数,叫做聚集函数。SQL聚集函数是对一组数据进行汇总的函数,输入是一组数据的集合,输出是单个值
SQL 中的聚集函数?
SQL 函数包含了算术函数,字符串函数,日期函数,转换函数。还有一函数,叫做聚集函数。SQL 聚集函数是对一组数据进行汇总的函数,输入是一组数据的集合,输出是单个值。
有哪些聚集函数
SQL 中的聚集函数,有最大值,最小值,平均值。
![SQL 中的聚集函数?](https://img1.php1.cn/3cdc5/32ca/3b4/9d49aa09ddecc21c.png)
Count 使用
例子:查询heros 中hp_max 大于6000 的英雄。
SELECT COUNT(*) FROM heros WHERE hp_max > 6000
运⾏结果为41。想要查询最⼤⽣命值⼤于6000,且有次要定位的英雄数量,需要使⽤COUNT函数。
SELECT COUNT(role_assist) FROM heros WHERE hp_max > 6000
运⾏结果是23。需要说明的是,COUNT(role_assist)会忽略值为NULL的数据⾏,⽽COUNT(*)只是统计数据⾏数,不管某个字段是否为NULL。
对数据行中不同的取值进行聚集,过滤掉重复,可以写成如下:
SELECT COUNT(DISTINCT hp_max) FROM heros
运⾏结果为61。
MAX 使用
使用 Max 求hp_max最大值。
SELECT MAX(hp_max) FROM heros WHERE role_main = '射⼿' or role_assist = '射⼿'
运⾏结果为6014。
COUNT,AVG、MAX、MIN和SUM函数使用
SELECT COUNT(*), AVG(hp_max), MAX(mp_max), MIN(attack_max), SUM(defense_max) FROM heros role_main = '射⼿' or role_assist = '射⼿'。
运行结果:
![SQL 中的聚集函数?](https://img1.php1.cn/3cdc5/32ca/3b4/ad46810e978e652e.png)
AVG 、MAX、 MIN 会自动忽略值为 NULL 的数据行。
AVG
有时候需要对 AVG 保留有效数字, 比如保存两位有效数字。
SELECT ROUND(AVG(DISTINCT hp_max), 2) FROM heros
运⾏结果为6653.84。
数据分组统计
数据分组,一般要使用 Group By 语句。
SELECT COUNT(*), role_main FROM heros GROUP BY role_main
运行结果:
![SQL 中的聚集函数?](https://img1.php1.cn/3cdc5/32ca/3b4/93e72eb3c2451891.png)
SELECT COUNT(*), role_assist FROM heros GROUP BY role_assist
![SQL 中的聚集函数?](https://img1.php1.cn/3cdc5/32ca/3b4/915e512ef637cc22.png)
如果还需要按照需要对分组进行排序,可以写成如下:
SELECT COUNT(*) as num, role_main, role_assist FROM heros GROUP BY role_main, role_assist ORDER BY num DESC
运行结果:
![SQL 中的聚集函数?](https://img1.php1.cn/3cdc5/32ca/3b4/aa9fbff9320fd029.png)
HAVING 与 WHERE 的区别是什么?
HAVING 和 WHERE 一样可以进行锅炉,只是 WHERE 作用于数据行, HAVING 作用于分组。
SELECT COUNT(*) as num, role_main, role_assist FROM heros GROUP BY role_main, role_assist HAVING num > 5
运行结果:
![SQL 中的聚集函数?](https://img1.php1.cn/3cdc5/32ca/3b4/d81c8f1e63d3b4f0.png)
总结
![SQL 中的聚集函数?](https://img1.php1.cn/3cdc5/32ca/3b4/203dbd11afb12a5d.png)
欢迎关注公众号:程序员开发者社区
![SQL 中的聚集函数?](https://img1.php1.cn/3cdc5/32ca/3b4/5f0cf2f2a6f2c270.jpeg)
数据库技术:SQL 中的聚集函数?地址:https://blog.csdn.net/wangming520liwei/article/details/107167987
需要了解更多数据库技术:SQL 中的聚集函数?,都可以关注数据库技术分享栏目—编程笔记