mysql--8.函数及UNION

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

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值