当前位置: 首页 > news >正文

【MySQL】聚合函数和内置函数

文章目录

  • 1 :peach:聚合函数:peach:
  • 2 :peach:group by子句的使用:peach:
  • 3 :peach:内置函数:peach:
    • 3.1 :apple:日期函数:apple:
    • 3.2 :apple:字符串函数:apple:
    • 3.3 :apple:数学函数:apple:
  • 4 :peach:其它函数:peach:


1 🍑聚合函数🍑

函数说明
COUNT([DISTINCT] expr)返回查询到的数据的 数量
SUM([DISTINCT] expr)返回查询到的数据的 总和,不是数字没有意义
AVG([DISTINCT] expr)返回查询到的数据的 平均值,不是数字没有意义
MAX([DISTINCT] expr)返回查询到的数据的 最大值,不是数字没有意义
MIN([DISTINCT] expr)返回查询到的数据的 最小值,不是数字没有意义

案例:我们使用的是students表和exam_result表:
在这里插入图片描述
在这里插入图片描述

  • 统计班级共有多少同学?

在这里插入图片描述

  • 统计班级收集的 qq 号有多少?

在这里插入图片描述

  • 统计本次考试的数学成绩分数个数?

没有去重:
在这里插入图片描述
去重:
在这里插入图片描述

  • 统计70 分以上的数学最低分;

在这里插入图片描述


2 🍑group by子句的使用🍑

在select中使用group by 子句可以对指定列进行分组查询。
语法:

select column1, column2, .. from table group by column;

案例:
准备工作:创建一个雇员信息表(来自oracle 9i的经典测试表)
参考下面:
在这里插入图片描述

  • 如何显示每个部门的平均工资和最高工资?

在这里插入图片描述

  • 显示每个部门的每种岗位的平均工资和最低工资;

在这里插入图片描述

  • 显示平均工资低于2000的部门和它的平均工资;

在这里插入图片描述注意:havinggroup by配合使用,对group by结果进行过滤。

总结SQL查询中各个关键字的执行先后顺序:

from > on> join > where > group by > with > having > select> distinct > order by > limit


3 🍑内置函数🍑

3.1 🍎日期函数🍎

函数名称描述
current_date()当前日期
current_time()当前时间
current_timestamp()当前时间戳
date(datetime)返回data参数的日期部分
date_add(date, interval d_value_type)interval后的数值单位可以是:year,minute,second,day
date_sub(date, interval d_value_type)interval后的数值单位可以是:year,minute,second,day
datediff(date1, date2)两个日期的差,单位是天
now()当前的日志时间
  • 在日期的基础上加日期;

在这里插入图片描述

  • 计算两个日期之间相差多少天;

在这里插入图片描述

  • 创建一个留言表插入数据,显示所有留言信息,发布日期只显示日期,不用显示时间,以及查询在2分钟内发布的帖子;

在这里插入图片描述

显示所有留言信息,发布日期只显示日期,不用显示时间:
在这里插入图片描述
查询在2分钟内发布的帖子:
在这里插入图片描述


3.2 🍎字符串函数🍎

函数名称描述
charset(str)返回字符串字符集
concat(str, [……])连接字符串
instr(str, sunstring)返回substring在string中出现的位置,没有则返回0
ucase(str)转化成大写
lcase(str)转化成小写
left(str, len)从str左边取len个字符
length(str)str的长度
replace(str, serstr, repstr)在str中用repstr替代serstr
strcmp(str1, str2)比较两个字符串
substring(str, pos, len)从str的pos位置开始截取len的字符
ltrim(str) rtrim(str) trim(str)除去前空格或者后空格

案例:

  • 获取emp表的ename列的字符集

在这里插入图片描述

  • 以首字母小写的方式显示所有员工的姓名;

在这里插入图片描述

3.3 🍎数学函数🍎

函数名称描述
abs(num)绝对值
bin(num)十进制转二进制
hex(num)十进制转十六进制
conv(num, form_base, to_base)form_base进制转化为to_base进制
ceiling(num)向上取整
floor(num)向下取整
format(num, decimal_places)格式化小数位数
mod(num)取模
rand()返回随机浮点数->[0.0, 1.0)

4 🍑其它函数🍑

  • user() 查询当前用户:
mysql> select user();
+--------+
| user() |
+--------+
| root@  |
+--------+
1 row in set (0.00 sec)
  • md5(str)对一个字符串进行md5摘要,摘要后得到一个32位字符串:
mysql> select md5('hello');
+----------------------------------+
| md5('hello')                     |
+----------------------------------+
| 5d41402abc4b2a76b9719d911017c592 |
+----------------------------------+
1 row in set (0.00 sec)
  • database()显示当前正在使用的数据库:
mysql> select database();
+------------+
| database() |
+------------+
| scott      |
+------------+
1 row in set (0.00 sec)
  • password()函数,MySQL数据库使用该函数对用户加密:
mysql> select password('grm');
+-------------------------------------------+
| password('grm')                           |
+-------------------------------------------+
| *3170D93DA75A9CE48555747589F6EFC4C29276D7 |
+-------------------------------------------+
1 row in set, 1 warning (0.00 sec)
  • ifnull(val1, val2) 如果val1为null,返回val2,否则返回val1的值:
mysql> select ifnull(null, '123');
+---------------------+
| ifnull(null, '123') |
+---------------------+
| 123                 |
+---------------------+
1 row in set (0.00 sec)

http://www.lryc.cn/news/290294.html

相关文章:

  • python第五节:集合set(4)
  • 知识笔记(一百)———什么是okhttp?
  • Electron桌面应用实战:Element UI 导航栏橙色轮廓之谜与Bootstrap样式冲突解决方案
  • Nuget包缓存存放位置迁移
  • 键盘上Ins键的作用
  • css display 左右对齐 技巧
  • 【Linux操作系统】:Linux开发工具编辑器vim
  • Good Trip Codeforces Round 921 (Div. 2) 1925D
  • 推荐一款Linux、数据库、Redis、MongoDB统一管理平台!
  • TensorFlow2实战-系列教程6:迁移学习实战
  • 怎样开发adobe indesign插件,具体流程?
  • Docker 安装与基本操作
  • 译文带你理解Python的dataclass装饰器
  • 【C语言】实现程序的暂停
  • Hana SQL+正则表达式
  • 【笔记】顺利通过EMC试验(16-41)-视频笔记
  • Qlik Sense 调用NPrinting生成On-Demand报表
  • ElasticSearch重建/创建/删除索引操作 - 第501篇
  • 数据写入HBase(scala)
  • Codeforces Round 799 (Div. 4)
  • 为什么要用云手机养tiktok账号
  • vue pc端网页实现自适应
  • Android 13以上版本读写SD卡权限适配
  • 并查集模板:食物链详解
  • 使用WAF防御网络上的隐蔽威胁之反序列化攻击
  • 05. 交换机的基本配置
  • yolo将标签数据打到原图上形成目标框
  • 002-00-02【大红ai源码】dolphinscheduler3.2.0 源码环境搭建------by孤山村头王大爷家女儿大红
  • python-自动化篇-运维-监控-如何使⽤Python处理和解析⽇志⽂件?-实操记录
  • 代码随想录算法训练营DAY6 | 哈希表(1)