一.汇总分析 SQL语句中5个常用的汇总函数

count 求某列的行数

sum 对某列数据进行求和

avg 求某列数据的平均值

max 求某列数据的最大值

min 求某列数据的最小值

实际应用举例:

1.查询课程编号为’0002’的总成绩




mysql根据某个字段加索引 sql根据某个字段进行加总_数据


2.查询选了课程的学生人数


mysql根据某个字段加索引 sql根据某个字段进行加总_sql更改某列数据_02


二.数据分组 group by 结合汇总函数使用

1.查询各科成绩最高和最低的分


mysql根据某个字段加索引 sql根据某个字段进行加总_sql更改某列数据_03


2.查询每门课程被选修的学生数


mysql根据某个字段加索引 sql根据某个字段进行加总_sql更改某列数据_04


3.查询男生,女生人数


mysql根据某个字段加索引 sql根据某个字段进行加总_数据_05


三. 对分组结果制定条件 having

1. 查询平均成绩大于60分学生的学号和平均成绩


mysql根据某个字段加索引 sql根据某个字段进行加总_SQL_06


2. 查询至少选修两门课程的学生学号


mysql根据某个字段加索引 sql根据某个字段进行加总_sql更改某列数据_07


3. 查询同名同姓学生名单并统计同名人数


mysql根据某个字段加索引 sql根据某个字段进行加总_sql更改某列数据_08


四.用SQL解决业务问题 看到问题后的思路

问题:如何计算每门课程的平均成绩并且平均成绩大于等于80分的

思路:select 查询结果 分组后复合条件的课程号,和平均成绩avg

from 从哪张表中查询成绩 score成绩表中

where 查询条件 没有

group by 分组:对课程号进行分组

having 对分组结果指定条件 平均成绩>=80;


mysql根据某个字段加索引 sql根据某个字段进行加总_sql更改某列数据_09


五. 对查询结果排序 order by 降序 desc 升序 asc

1.查询不及格的课程并按照课程号从大到小排列


mysql根据某个字段加索引 sql根据某个字段进行加总_SQL_10


2.查询每门课程的平均成绩,结果按平均成绩升序排序,平均成绩相同,按课程号降序排列


mysql根据某个字段加索引 sql根据某个字段进行加总_数据_11


六. SQLZOO练习题 部分练习题

1.查找下面获奖者的所有详细信息:西奥多·罗斯福:Theodore Roosevelt伍德罗·威尔逊:'Woodrow Wilson吉米卡特:Jimmy Carter


mysql根据某个字段加索引 sql根据某个字段进行加总_sql更改某列数据_12


2.显示名字为John的得奖者,外国人名字在前,姓氏在后


mysql根据某个字段加索引 sql根据某个字段进行加总_数据_13


3.列出名字以Sir开始的获奖者,年份,奖项,先显示最新获奖者,同年按名称排序


mysql根据某个字段加索引 sql根据某个字段进行加总_mysql根据某个字段加索引_14


4. ('France','Germany','Spain')(“法国”,“德国”,“西班牙”)的总人口是多少?


mysql根据某个字段加索引 sql根据某个字段进行加总_sql更改某列数据_15


5. 列出有至少100百萬(1億)(100,000,000)人口的洲份。


mysql根据某个字段加索引 sql根据某个字段进行加总_mysql根据某个字段加索引_16