1 select之函数
1.1 数据处理函数/单行处理函数
1.1.1 概述
1.1.2 字符串à日期(奇葩)
1.1.3 日期格式化
1.1.4 Ifnull
IFNULL(expr1 , expr2) 如果不为空返回expr1 , 否则返回 expr2
1.2 聚合函数/分组函数/多行处理函数
1.2.1 count--获取数量
练习:
统计一个班级共有多少学生?
selectcount(*) from stu;
统计数学成绩大于90的学生有多少个?
selectcount(*) from stu where math > 90;
统计总分大于150的人数有多少?
selectcount(*) from stu where (math+english+chinese) > 150;
1.2.2 sum--求和(忽略null值)
可以同ifnull(xxx,0)
练习:
统计一个班级数学总成绩?
selectsum(math) from stu;
统计一个班级语文、英语、数学各科的总成绩
selectsum(math),sum(english),sum(chinese) from stu;
统计一个班级语文、英语、数学的成绩总和
selectsum(ifnull(math,0)+english+chinese) from stu;
selectsum(math)+sum(english)+sum(chinese) from stu;
统计一个班级语文成绩平均分
selectsum(chinese) / count(*) from stu;
1.2.3 avg--平均数
练习:
求一个班级数学平均分?
selectavg(math) from stu;
求一个班级总分平均分
selectavg(ifnull(math,0)+english+chinese) from stu;
1.2.4 max / min--最大 / 小值
selectmax(math) from stu;
selectmin(math) from stu;
1.2.5 注意
1. 分组函数自动忽略空值,不必再where条件判断空值
2. 不能在where 条件之后
1.3 区别:单行处理函数和多行处理函数
单行:输入一条,输出一条
多行:多条数据之和,看过程而不是结果
2 UNION
2.1 功能
对查询结果进行并操作
结果:字段相同
· DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT 修饰符对结果没啥影响。
· ALL: 可选,返回所有结果集,包含重复数据。
2.2 UNION
2.2.1 一般
从 "Websites" 和 "apps" 表中选取所有不同的country(只有不同的值):
2.2.2 Where 忽略
2.3 UNION all
2.3.1 一般
UNION ALL 从 "Websites" 和 "apps" 表中选取所有的country(也有重复的值)
2.3.2 Where