sql server中条件统计 sql条件求和语句_sql server中条件统计


一、汇总函数:

1、COUNT:COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入);

语法:SELECT COUNT(column_name) FROM table_name

COUNT(*) 函数返回表中的记录数:可记录所有的列,包括null值;

2、sum(列名):只能对某列数据求和;且只能对数值类型列计算;

3、avg(列名):求某列平均值;且只能对数值类型列计算;

4、max(列名):最大值;min(列名):最小值;

5、sql运行顺序:from-where-groupby-having-select-orderby-limit

5、练习:

(1)求和:


sql server中条件统计 sql条件求和语句_升序_02


(2)计数


sql server中条件统计 sql条件求和语句_升序_03


二、分组函数

1、分组函数:group by语句;

GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。

语法 ④ SELECT column_name, aggregate_function(column_name)
① FROM table_name
② WHERE column_name operator value
③ GROUP BY column_name

①②③④,表明sql运行顺序;

2、练习:

(1)查找最高,最低分;


sql server中条件统计 sql条件求和语句_sql server中条件统计_04


sql server中条件统计 sql条件求和语句_sql_05


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


sql server中条件统计 sql条件求和语句_sql_06


(3)查询男生,女生人数


sql server中条件统计 sql条件求和语句_sql server中条件统计_07


三、对分组结果指定条件;

having函数:在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。

语法:SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value

练习:

(1)查询平均成绩大于60分的学生;


sql server中条件统计 sql条件求和语句_asp点击按钮sql列求和_08


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


sql server中条件统计 sql条件求和语句_asp点击按钮sql列求和_09


(3)查询同名学生名单并统计人数


sql server中条件统计 sql条件求和语句_asp点击按钮sql列求和_10


四、sql解决业务问题

核心:翻译目标→写出分析思路→写出对应sql语句;

1、求每门课程平均成绩;


sql server中条件统计 sql条件求和语句_sql_11


2、平均成绩大于80;


sql server中条件统计 sql条件求和语句_asp点击按钮sql列求和_12


五、对查询结果排序;

1、order by;用于对结果集进行排序。语句默认按照升序对记录进行排序。

desc:降序;asc:升序;

2、limit:从查询结果中取出制定行;

3、练习:

(1)筛选出成绩小于60的课程,并倒叙排列;


sql server中条件统计 sql条件求和语句_asp点击按钮sql列求和_13


(2)筛选出成绩大于60的课程,并倒叙排列;


sql server中条件统计 sql条件求和语句_asp点击按钮sql列求和_14


3、查询平均成绩,并且将成绩正序排列,成绩相同时,课程号倒叙排列


sql server中条件统计 sql条件求和语句_sql server中条件统计_15


六、看懂报错信息;

1、常见错误:

(1)group by中使用select的别称;

(2)where 中使用聚合函数;

(3)字符串类型的数字;

2、总结:

sql运行顺序:from-where-groupby-having-select-orderby-limit

七、sqlzoo联系:

1、错误分析:

① in用法:


sql server中条件统计 sql条件求和语句_asp点击按钮sql列求和_16


IN 操作符允许我们在 WHERE 子句中规定多个值。

SQL IN 语法:in 后面直接用英文逗号(,d)隔开;

SELECT column_name(s)

FROM table_name

WHERE column_name IN (value1,value2,...)

(2)单引号,跳脱字符,需要用双引号替代;


sql server中条件统计 sql条件求和语句_asp点击按钮sql列求和_17


(3)subject IN ('Chemistry','Physics')can be used as a value - it will be0or1.


sql server中条件统计 sql条件求和语句_sql_18


2、二次训练


sql server中条件统计 sql条件求和语句_sql server中条件统计_19


sql server中条件统计 sql条件求和语句_升序_20


sql server中条件统计 sql条件求和语句_asp点击按钮sql列求和_21


sql server中条件统计 sql条件求和语句_sql server中条件统计_22


sql server中条件统计 sql条件求和语句_sql_23


sql server中条件统计 sql条件求和语句_sql_24


sql server中条件统计 sql条件求和语句_sql server中条件统计_25


sql server中条件统计 sql条件求和语句_sql server中条件统计_26


sql server中条件统计 sql条件求和语句_sql server中条件统计_27


sql server中条件统计 sql条件求和语句_升序_28


sql server中条件统计 sql条件求和语句_sql_29


sql server中条件统计 sql条件求和语句_升序_30


sql server中条件统计 sql条件求和语句_sql server中条件统计_31


sql server中条件统计 sql条件求和语句_sql_32


SUM and COUNT:


sql server中条件统计 sql条件求和语句_sql_33


sql server中条件统计 sql条件求和语句_asp点击按钮sql列求和_34


sql server中条件统计 sql条件求和语句_sql server中条件统计_35


sql server中条件统计 sql条件求和语句_sql server中条件统计_36


sql server中条件统计 sql条件求和语句_asp点击按钮sql列求和_37


sql server中条件统计 sql条件求和语句_sql server中条件统计_38


sql server中条件统计 sql条件求和语句_sql_39


sql server中条件统计 sql条件求和语句_asp点击按钮sql列求和_40


错误分析:运行顺序错误;where 和having 运行条件需要熟练;


sql server中条件统计 sql条件求和语句_asp点击按钮sql列求和_41


sql server中条件统计 sql条件求和语句_asp点击按钮sql列求和_42