mysql聚合索引失效
索引是可以高效的获取数据的数据结构, 对查询有很大作用. 索引对于数据库, 就像偏旁部首, 或者26个英文字母对于字典一样, 能很快的提高查询速度.但是索引也有它的缺点:首先就是占用磁盘空间其次是虽然...
2024.11.22MySQL 的常见的聚合函数有 AVG、COUNT、SUM、MIN、MAX,上一小节介绍了 AVG、COUNT、SUM 三种聚合函数,本小节介绍如何使用 MIN、MAX 两种聚合函数,另外再介绍一下如何在 GROUP BY 中使用聚合函数。
1.MIN函数取最小值以 teacher 表为例,先查所有 teacher 信息:
select * FROM teacher;查询结果如下图:
可以使用 MIN() 函数对结果集取年龄最小值的数据:
select MIN(age) FROM teacher;执行结果如下图:
Tips:如上图所示,MIN(age) 表示对结果集 age 列取最小值 29。
2.MAX函数取最大值以 student 表为例,先查看所有 student 信息:
select * FROM student;查询结果如下图:
可以使用 MAX() 函数对结果集取年龄最大值的数据:
select MAX(age) FROM student;执行结果如下图:
Tips:如上图所示,MAX(age) 表示对结果集 age 列取最大值 23。
3.GROUP BY HAVING以 student_course、course、student 表内连接查询为例:
select * FROM student_course a INNER JOIN student b ON a.student_id=b.id INNER JOIN course c ON a.course_id=c.id;查询结果如下图:
使用 AVG 函数取分组数据平均年龄:
select a.course_id,c.course_name,AVG(age) FROM student_course a INNER JOIN student b ON a.student_id=b.id INNER JOIN course c ON a.course_id=c.idGROUP BY a.course_id,c.course_name;执行结果如下图 :
可以使用 HAVING 对上述结果筛选,例如选出选课学生平均年龄大于 20 的课程数据:
select a.course_id,c.course_name,AVG(age) FROM student_course a INNER JOIN student b ON a.student_id=b.id INNER JOIN course c ON a.course_id=c.idGROUP BY a.course_id,c.course_nameHAVING AVG(age) >= 20;执行结果如下图:
Tips:如上图所示,演示的是使用 AVG() 函数对分组数据进行筛选,同理,可以分别使用 COUNT()、MIN()、MAX()、SUM() 这四种聚合函数取出分组的数据,并且都可以使用 HAVING 后面的条件对分组聚合函数的值进行筛选。
4. 小结本小节介绍了如何使用 MIN、MAX 两种聚合函数对查询结果集进行筛选,还介绍了如何在 GROUP BY中分组使用聚合函数,并且使用 HAVING 后面的条件对分组数据进行筛选,需要注意的是聚合函数产生的数据列最好重命名,这是因为后端程序语言在处理这些数据时需要规范的字段名,例如:
select AVG(age) AS teacher_avg_age FROM teacher;查询结果如下图:
索引是可以高效的获取数据的数据结构, 对查询有很大作用. 索引对于数据库, 就像偏旁部首, 或者26个英文字母对于字典一样, 能很快的提高查询速度.但是索引也有它的缺点:首先就是占用磁盘空间其次是虽然...
2024.11.221.使用unionunion的使用很简单,要做的只是给出每条select语句,在语句之间放上关键字union。(1)我们在products表中查询prod_price
2024.11.18SQL ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数请看下面的 "Products" 表:假如 "UnitsOnOrder" 是可选的,而且可以包含 NULL 值。我...
2024.11.21mysqli_fetch_field_direct() 以对象返回结果集中单字段的元数据。mysqli_fetch_field() 以对象返回结果集中的下一个字段。mysqli_fetch_field...
2024.11.21很多时候,我们查询数据的时候都不会把明细数据查询出来,那样一般意义也不大。更多的时候是根据业务需求,把数据聚合成业务能直接使用的数据。MYSQL中有5个聚合函数,如下面5个,用得最多的还是count和...
2024.11.22