【实践篇】聚合函数

2022-04-01  本文已影响0人  山药鱼儿

有如下的用户信息表 user_profile

首先,检索复旦大学用户中,最高的 gpa 值是多少?

SELECT MAX(gpa) 
FROM user_profile
WHERE university = '复旦大学';

检索结果:

除了使用聚合函数 MAX 也可以借助排序和 LIMIT 关键字实现:

SELECT gpa
FROM user_profile
WHERE university = '复旦大学'
ORDER BY gpa DESC
LIMIT 1;

接下来是另外几个常用的聚合函数 COUNTAVG 的使用示例。下面的 SQL 检索所有男性用户的人数以及 gpa 的平均值。

SELECT 
    COUNT(*) AS male_num, 
    ROUND(AVG(gpa),1) AS avg_gpa
FROM 
    user_profile
WHERE 
    gender = 'male';

其中 ROUND 对聚合结果四舍五入,保留 1 位小数。检索结果如下:

此外,也可以通过分组聚合进行检索,根据 gender 分组后,所有用户被分为男性和女性两个组,HAVING 关键字指出分组的过滤条件,即只保留 male 分组。

SQL 实现如下:

SELECT 
    COUNT(*) AS male_num, 
    ROUND(AVG(gpa),1) AS avg_gpa
FROM 
    user_profile
GROUP BY 
    gender 
HAVING 
    gender = 'male';

检索结果同上,这里不再复述。

上一篇下一篇

猜你喜欢

热点阅读