聚合函数及分组过滤

-- 聚合函数
-- 能够统计表中数据(想查询一个表中有多少个记录,就使用这个count())
SELECT COUNT(`pid`) FROM `category`;-- count(字段),会忽略所有的null值
SELECT COUNT(*) FROM `category`;
-- 不会忽略null值,与count(1)本质一样,是计算行数
SELECT COUNT(1) FROM `category`;

SELECT SUM(`grade`) AS 总和 FROM `student2_copy_copy`
SELECT AVG(`grade`) AS 平均分 FROM `student2_copy_copy`
SELECT MAX(`grade`) AS 最高分 FROM `student2_copy_copy`
SELECT MIN(`grade`) AS 最低分 FROM `student2_copy_copy`

-- 查询不同课程的平均分,最高分,最低分,且只显示平均分不低于70的课程
-- 核心:(根据不同课程分组),因为数据库懒得写表,将就看个方法
select `name`,avg(`grade`) as 平均分,max(`grade`) as 最高分,min(`grade`) as 最低分
from a aa
inner join b bb
on a.name=b.name
group by a.id -- 通过什么来分组
having 平均分>80

 

posted @ 2023-12-11 19:35  同学?  阅读(12)  评论(0)    收藏  举报