MySQL的内置函数

在这里插入图片描述

文章目录

  • 1. 聚合函数
  • 2. group by子句的使用
  • 3. 日期函数
  • 4. 字符串函
  • 5. 数学函数
  • 6. 其它函数

1. 聚合函数

COUNT([DISTINCT] expr) 返回查询到的数据的数量
在这里插入图片描述
用SELECT COUNT(*) FROM students或者SELECT COUNT(1) FROM students也能查询总个数。

统计本次考试的数学成绩分数去重个数:
在这里插入图片描述
SUM([DISTINCT] expr) 返回查询到的数据的 总和,不是数字没有意义
在这里插入图片描述
AVG([DISTINCT] expr) 返回查询到的数据的 平均值,不是数字没有意义
求每个同学的平均分排名:
在这里插入图片描述
MAX([DISTINCT] expr) 返回查询到的数据的 最大值,不是数字没有意义
返回英语最高分:
在这里插入图片描述
MIN([DISTINCT] expr) 返回查询到的数据的 最小值,不是数字没有意义
返回 > 70 分以上的数学最低分:
在这里插入图片描述
聚合统计一定是直接或者间接统计列方向的某些数据,它们的属性一定相同

2. group by子句的使用

在select中使用group by 子句可以对指定列进行分组查询:
在这里插入图片描述
举个例子:
在这里插入图片描述
在这里插入图片描述
下面我们把这个数据库备份放到我们的数据库中:
在这里插入图片描述
这里我们成功获取这3张表。

在这里插入图片描述
这是部门表,第一个字段是部门编号,第二个字段是部门名称,第三个字段是部门所在地点。
在这里插入图片描述
这是员工表,字段的意思依次是:雇员编号、雇员姓名、雇员职位、雇员领导编号、雇佣时间、工资月薪、奖金、部门编号。
在这里插入图片描述
这是工资等级表,字段的意思依次是:等级、此等级最低工资、此等级最高工资。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们已经在这3张表中插入了数据。

如何显示每个部门的平均工资和最高工资?
在这里插入图片描述
因为4号部门没有员工,所以就不显示。

如何显示每个部门的每种岗位的平均工资和最低工资?
在这里插入图片描述
如何显示平均工资低于2000的部门和它的平均工资?

这里我们不能使用where来筛选了,需要使用having:
在这里插入图片描述
总结:
1.group by是通过分组这样的手段,为未来进行聚合统计提供基本信息的功能支持(group by一定是通过聚合统计来使用的)

2.group by后面跟的都是分组的字段依据,只有在group by后面出现的字段,未来在聚合统计的时候,才能在select后面出现

3.where和having它们两个是不冲突的,是互相补充的,having通常是在完成整个分组统计后,再进行筛选。where是在表中数据初步筛选的时候起作用的

SQL查询中各个关键字的执行先后顺序 from > on> join > where > group by > with > having > select> distinct > order by > limit

3. 日期函数

在这里插入图片描述
获得时间戳:
在这里插入图片描述
它的作用和now()一样。

在日期的基础上加天数:
在这里插入图片描述
我们也可以加上年,分钟,秒。

计算两个日期之间相差多少天:
在这里插入图片描述

创建一个留言表:
在这里插入图片描述
插入数据:
在这里插入图片描述
显示所有留言信息,发布日期只显示日期,不用显示时间:
在这里插入图片描述
data函数会把我们的时间只保留日期格式。

请查询在2分钟内发布的帖子
如果我们现在的时间减去2分钟的时间,在这个时间端就是2分钟内发布的帖子,换算一下就是发布的帖子+2分钟大于现在的时间。

select * from msg where date_add(sendtime, interval 2 minute) > now();

4. 字符串函

在这里插入图片描述
获取emp表的ename列的字符集:
在这里插入图片描述
要求显示员工表中的信息,显示格式:“XXX的工作是XXX,薪水是XXX”:
在这里插入图片描述
求员工表中员工姓名占用的字节数:
在这里插入图片描述
注意:length函数返回字符串长度,以字节为单位。如果是多字节字符则计算多个字节数,如果是单字节字符则算作一个字节。比如:字母,数字算作一个字节,中文表示多个字节数(与字符集编码有关)。
在这里插入图片描述
substring函数的作用是:取某个字符串的一部分,并且可以指定要取长度的大小,从1开始。
在这里插入图片描述
replace可以进行字符串的替换。

以首字母小写的方式显示所有员工的姓名:
在这里插入图片描述
查出所有员工的工作是CLERK的:
在这里插入图片描述
如果我们想查询的不是的话,我们就什么都不带。
在这里插入图片描述

5. 数学函数

在这里插入图片描述
保留2位小数位数(小数四舍五入):
在这里插入图片描述
将10从10进制转成16进制:
在这里插入图片描述

6. 其它函数

user() 查询当前用户:
在这里插入图片描述
md5(str)对一个字符串进行md5摘要,摘要后得到一个32位字符串:
在这里插入图片描述
password()函数,MySQL数据库使用该函数对用户加密:
在这里插入图片描述
下面我们创建一个用户表,密码是加密的:
在这里插入图片描述
下面我们进行插入:
在这里插入图片描述
并且加密的,不会显示在MySQL中的历史语句中。

如果用户输入密码,怎么比较呢
在这里插入图片描述
ifnull(val1, val2) 如果val1为null,返回val2,否则返回val1的值:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/146171.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java集成Onlyoffice以及安装和使用示例,轻松实现word、ppt、excel在线编辑功能协同操作,Docker安装Onlyoffice

安装Onlyoffice 拉取onlyoffice镜像 docker pull onlyoffice/documentserver 查看镜像是否下载完成 docker images 启动onlyoffice 以下是将本机的9001端口映射到docker的80端口上,访问时通过服务器ip:9001访问,并且用 -v 将本机机/data/a…

vue造轮子完整指南--npm组件包开发步骤

一、项目包文件的创建和初始化。 1. 新建项目包。 vue create <Project Name> //用于发布npm包的项目文件名 ps:一般选择自定义&#xff0c;然后不需要Vuex和Router&#xff0c;其他选项按自己实际情况选择安装即可。 2.修改原始src文件名、新增组件项目存放文件和修改…

【vue3】Suspense组件和动态引入defineAsyncComponent的搭配使用

假期第五篇&#xff0c;对于基础的知识点&#xff0c;我感觉自己还是很薄弱的。 趁着假期&#xff0c;再去复习一遍 在app中定义子组件child //静态引入&#xff0c;网速慢的时候&#xff0c;父子组件也是同时渲染出来 <template><div><h3>APP父组件</…

【Python】返回指定时间对应的时间戳

使用模块datetime&#xff0c;附赠一个没啥用的“时间推算”功能(获取n天后对应的时间 代码&#xff1a; import datetimedef GetTimestamp(year,month,day,hour,minute,second,*,relativeNone,timezoneNone):#返回指定时间戳。指定relative时进行时间推算"""根…

【C++进阶】二叉搜索树

&#x1f680;write in front&#x1f680; &#x1f4dc;所属专栏&#xff1a; C学习 &#x1f6f0;️博客主页&#xff1a;睿睿的博客主页 &#x1f6f0;️代码仓库&#xff1a;&#x1f389;VS2022_C语言仓库 &#x1f3a1;您的点赞、关注、收藏、评论&#xff0c;是对我最大…

Android自动化测试之MonkeyRunner--从环境构建、参数讲解、脚本制作到实战技巧

monkeyrunner 概述、环境搭建 monkeyrunner环境搭建 (1) JDK的安装不配置 http://www.oracle.com/technetwork/java/javase/downloads/index.html (2) 安装Python编译器 https://www.python.org/download/ (3) 设置环境变量(配置Monkeyrunner工具至path目彔下也可丌配置) (4) …

【人工智能导论】线性回归模型

一、线性回归模型概述 线性回归是利用函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。简单来说&#xff0c;就是试图找到自变量与因变量之间的关系。 二、线性回归案例&#xff1a;房价预测 1、案例分析 问题&#xff1a;现在要预测140平方的房屋的价格&…

嵌入式Linux应用开发-基础知识-第十八章系统对中断的处理③

嵌入式Linux应用开发-基础知识-第十八章系统对中断的处理③ 第十八章 Linux系统对中断的处理 ③18.5 编写使用中断的按键驱动程序 ③18.5.1 编程思路18.5.1.1 设备树相关18.5.1.2 驱动代码相关 18.5.2 先编写驱动程序18.5.2.1 从设备树获得 GPIO18.5.2.2 从 GPIO获得中断号18.5…

Redis Cluster集群运维与核心原理剖析

文章目录 Redis集群方案比较哨兵模式高可用集群模式 Redis高可用集群搭建Java操作redis集群Redis集群原理分析槽位定位算法跳转重定位Redis集群节点间的通信机制集中式gossipgossip通信的10000端口 网络抖动Redis集群选举原理分析集群脑裂数据丢失问题集群是否完整才能对外提供…

Node18.x基础使用总结(二)

Node18.x基础使用总结 1、Node.js模块化1.1、模块暴露数据1.2、引入模块 2、包管理工具2.1、npm2.2、npm的安装2.3、npm基本使用2.4、搜索包2.5、下载安装包2.6、生产环境与开发环境2.7、生产依赖与开发依赖2.8、全局安装2.9、修改windows执行策略2.10、安装包依赖2.11、安装指…

深入了解 Linux 中的 AWK 命令:文本处理的瑞士军刀

简介 在Linux和Unix操作系统中&#xff0c;文本处理是一个常见的任务。AWK命令是一个强大的文本处理工具&#xff0c;专门进行文本截取和分析&#xff0c;它允许你在文本文件中查找、过滤、处理和格式化数据。本文将深入介绍Linux中的AWK命令&#xff0c;让你了解其基本用法和…

【多线程进阶】常见的锁策略

文章目录 前言1. 乐观锁 vs 悲观锁2. 轻量级锁 vs 重量级锁3. 自旋锁 vs 挂起等待锁4. 读写锁 vs 互斥锁5. 公平锁 vs 非公平锁6. 可重入锁 vs 不可重入锁总结 前言 本章节所讲解的锁策略不仅仅是局限于 Java . 任何和 “锁” 相关的话题, 都可能会涉及到以下内容. 这些特性主…

如何初始化一个vue项目

如何初始化一个vue项目 安装 vue-cli 后 ,终端执行 vue ui npm install vue-cli --save-devCLI 服务 | Vue CLI (vuejs.org) 等一段时间后 。。。 进入项目仪表盘 设置其他模块 项目构建后目录 vue.config.js 文件相关配置 官方vue.config.js 参考文档 https://cli.vuejs.o…

Linux基础指令(六)

目录 前言1. man 指令2. date 指令3. cal 指令4. bc 指令5. uname 指令结语&#xff1a; 前言 欢迎各位伙伴来到学习 Linux 指令的 第六天&#xff01;&#xff01;&#xff01; 在上一篇文章 Linux基本指令(五) 中&#xff0c;我们通过一段故事线&#xff0c;带大家感性的了…

BI神器Power Query(26)-- 使用PQ实现表格多列转换(2/3)

实例需求&#xff1a;原始表格包含多列属性数据,现在需要将不同属性分列展示在不同的行中&#xff0c;att1、att3、att5为一组&#xff0c;att2、att3、att6为另一组&#xff0c;数据如下所示。 更新表格数据 原始数据表&#xff1a; Col1Col2Att1Att2Att3Att4Att5Att6AAADD…

通过containerd部署k8s集群环境及初始化时部分报错解决

目录 一.基础环境配置&#xff08;每个节点都做&#xff09; 1.hosts解析 2.防火墙和selinux 3.安装基本软件并配置时间同步 4.禁用swap分区 5.更改内核参数 6.配置ipvs 7.k8s下载 &#xff08;1&#xff09;配置镜像下载相关软件 &#xff08;2&#xff09;配置kube…

8.3Jmeter使用json提取器提取数组值并循环(循环控制器)遍历使用

Jmeter使用json提取器提取数组值并循环遍历使用 响应返回值例如&#xff1a; {"code":0,"data":{"totalCount":11,"pageSize":100,"totalPage":1,"currPage":1,"list":[{"structuredId":&q…

nodejs+vue健身服务应用elementui

第三章 系统分析 10 3.1需求分析 10 3.2可行性分析 10 3.2.1技术可行性&#xff1a;技术背景 10 3.2.2经济可行性 11 3.2.3操作可行性&#xff1a; 11 3.3性能分析 11 3.4系统操作流程 12 3.4.1管理员登录流程 12 3.4.2信息添加流程 12 3.4.3信息删除流程 13 第四章 系统设计与…

使用docker完成minio服务部署扩容备份迁移生产实践文档

一、minio服务扩容方案 当服务器存储空间不足的时候&#xff0c;需要进行扩容&#xff0c;扩容过程中需要短暂停机时间&#xff0c;预计在一小时内能够完成和恢复 统一注意事项 强烈建议为部署中的所有节点选择基本相似的硬件配置。确保硬件&#xff08;CPU、内存、主板、存…

什么是物联网智慧公厕?

在当今科技快速发展的背景下&#xff0c;具备全感知、可靠传输、智能处理三大特点的物联网技术&#xff0c;正逐渐渗透到各个领域。而智慧公厕作为其中的一个创新应用&#xff0c;正逐渐受到市场的关注和重视。 什么是物联网智慧公厕&#xff1f;物联网智慧公厕是指通过物联网…