聚集函数
SQL聚集函数一共包括5个
继续使用heros数据表,对王者荣耀的英雄数据进行聚合
实例
-- 查询最大生命值大于6000的英雄数量
SELECT COUNT(*) FROM heros WHERE hp_max > 6000;
运行结果为41
-- 查询最大生命值大于6000,且有次要定位的英雄数量
SELECT COUNT(role_assist) FROM heros
WHERE hp_max > 6000;
运行结果23
有些英雄没有次要定位,即role_assist为NULL,这时COUNT(role_assist)会忽略值为NULL的数据行,而COUNT(*)只是统计数据行数,不管某个字段是否为NULL。
实例
- 查询射手(主要定位或者次要定位是射手)的最大生命值的最大值是多少。
SELECT MAX(hp_max) FROM heros
WHERE role_main = '射手' or role_assist = '射手';
运行结果为6014
上面的例子,都是在一条SELECT语句中使用了一次性聚集函数,实际上可以在一条SELECT语句中进行多项聚集函数的查询。
实例:
- 查询射手(主要定位或者次要定位是射手)的英雄数、平均最大生命值、法力最大值的最大值、攻击最大值的最小值,以及这些英雄总的防御最大值等汇总数据。
SELECT COUNT(