分组查询和连接查询
版权声明:本文为博主原创文章,未经博主允许不得转载。 转载联系邮箱:1363119685@qq.com
Copyright © 2018 DAR林克斯 保留所有权利
一、分组查询:
在使用SELECT查询数据时,还可以使用它的一个子句GROUP BY对查询结果进行分组统计,所以分组查询往往需要结合聚合函数一起使用。
语法:
SELECT <字段名列表|*> FROM <表名> [WHERE <条件表达式1>] [GROUP BY <分组地字段名> [HAVING <条件表达式2>]];
说明:
1)GROUP BY <分组地字段名>:表示按哪个字段进行分组。
2)WHERE <条件表达式1>:在分组前对查询进行过滤。
3)HAVING <条件表达式2>:在分组统计地结果再进行过滤。
1.GROUP BY单独使用的情况:
举例:
/*按年级编号统计学生人数*/
SELECT COUNT(*) 学生人数,grade_id 年级编号 FROM tb_student GROUP BY grade_id ;
#查询成绩表:按课程编号统计平均分
SELECT AVG(student_score) 平均分,subject_id 课程编号 FROM tb_score GROUP BY subject_id;
2.GROUP BY结合HAVING一起使用:
举例:
/*按课程编号统计平均分(只显示平均分高于73的信息)*/
SELECT AVG