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

news2024/11/18 6:35:48

文章目录

  • 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.coloradmin.cn/o/1419455.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【大数据】Flink 架构(三):事件时间处理

《Flink 架构》系列(已完结),共包含以下 6 篇文章: Flink 架构(一):系统架构Flink 架构(二):数据传输Flink 架构(三):事件…

(十四)测频NE555应用

文章目录 NE555简介NE555原理图如何对NET_SIG(P34)引脚计脉冲测频应用部分代码现象 NE555简介 NE555是一种集成电路,其内部结构包括比较器、RS触发器、电压比较器和输出级三个主要功能模块。是由硬件直接产生的脉冲 NE555一些的常见应用&am…

Orion-14B-Chat-Plugin本地部署的解决方案

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

PGsql 解析json及json数组

创建测试数据 drop table if exists json_test; create table json_test as select 111 as id, {"nodes":{"1692328028076":{"nodeId":"1692328028076","nodeName":"测试表1","nodeType":"DATACO…

Golang 流媒体服务器lalserver使用指南

目录 安装 使用 1.推流 2.播放 官方地址 安装 1.下载源码 wget https://github.com/q191201771/lal/releases/download/v0.36.7/lal_v0.36.7_linux.zipunzip lal_v0.36.7_linux.zip cd lal_v0.36.7_linux 2.启动 ./bin/lalserver -c ./conf/lalserver.conf.json 使用 …

Linux部署lomp环境,安装typecho、WordPress博客

部署lomp环境,安装typecho、WordPress博客 一、环境要求1.1.版本信息1.2.准备阿里云服务器【新用户免费使用三个月】1.3.准备远程工具【FinalShell】 二、Linux下安装openresty三、Linux下安装Mysql四、安装Apache【此步骤可省略】4.1.安装Apache服务及其扩展包4.2.…

【React教程】(2) React之JSX入门与列表渲染、条件渲染详细代码示例

目录 JSX环境配置基本语法规则在 JSX 中嵌入 JavaScript 表达式在 JavaScript 表达式中嵌入 JSXJSX 中的节点属性声明子节点JSX 自动阻止注入攻击在 JSX 中使用注释JSX 原理列表循环DOM Elements 列表渲染语法高亮 条件渲染示例1:示例2:示例3&#xff08…

使用Docker安装Jenkins,并能够在该Jenkins中使用Docker

1. 构建Dockerfile 试错1 参考https://medium.com/manav503/how-to-build-docker-images-inside-a-jenkins-container-d59944102f30 按照文章里所介绍的,实现在Jenkins容器环境中依然能够调用Docker,需要做到以下几步 下载Jenkins镜像将环境中的docke…

解析PDF二维码:数字时代文件管理的创新之道

随着数字时代的来临,文件管理方式正经历着翻天覆地的变革。在这个变革的浪潮中,PDF二维码作为一种创新的技术手段,正逐渐引起人们的关注。本文将深入探讨PDF二维码的概念、应用领域以及在文件管理中的前景。 一、PDF二维码的概念 PDF二维码…

2024-01-29 ubuntu 用脚本设置安装交叉编译工具链路径方法,设置PATH环境变量

一、设置PATH环境变量的方法,建议用~/.bash_profile的方法,不然在ssh登录的时候可能没有设置PATH. 二、下面的完整的脚本,里面的echo "export PATH$build_toolchain_path:\$PATH" >> $HOME/.bashrc 就是把交叉编译路径写写到.bashrc设置…

笔记本从零安装ubuntu系统+多种方式远程控制

文章目录 前言ubuntu启动盘Windows远程Ubuntu安装XrdpXrdp卡顿问题解决Xrdp 二次登录会死机的问题Xrdp 卡顿问题 MobaXtermRustDesk 外网远程VNC 远程SSH远程其它设置 总结 前言 我有台老笔记本,上大学第一年的时候买的,现在已经不怎么好用了。打算刷个…

IS-IS:07 ISIS缺省路由

IS-IS 有两种缺省路由,第一种缺省路由是由 level-1 路由器在特定条件下自动产生的,它的下一跳是离它最近的 (cost 最小)level-1-2路由器。第二种缺省路由是 IS-IS 路由器上使用 default-route-advertise 命令产生并发布的。 本次实…

最后50个CC龙年红包封面,免费速领!还有更多......高中生也卷起Steam来了

微信视频号之前是送了我3张新年红包封面,一共是150个,但不太会操作浪费了100个,只能我自己用来送老铁了。 晓衡又做了一条 Cocos 小可爱 CC 封面红包,特别适合送女生或给小朋友们,点击视频领取!还好微信又送…

Vue学习之使用开发工具创建项目、gitcode管理项目

Vue学习之使用开发工具创建项目、gitcode管理项目 翻阅与学习了vue的开发工具,通过对比最终采用HBuilderX作为开发工具,以下章节对HBuilder安装与基础使用介绍 1. HBuilder 下载 从HbuildX官网(http://www.dcloud.io/hbuilderx.html&#…

Servlet板块:文件上传下载操作 来自【汤米尼克的JAVAEE全套教程专栏】

Servlet板块:文件上传下载操作 一、文件上传(1)前端内容(2)后端内容 二、文件下载(1)前端的超链接下载(2)后端下载 一、文件上传 (1)前端内容 使…

Qt应用软件【协议篇】Modbus详细介绍

文章目录 概述Modbus 485协议概述在工业自动化中的应用 通信模式数据模型功能码 Modbus RTU示例 1:读取保持寄存器示例 2:写入单个线圈示例 3:写入多个保持寄存器报文传输 Modbus ASCII报文示例报文传输 Modbus TCP报文示例报文传输 概述 在…

《HTML 简易速速上手小册》第7章:HTML 多媒体与嵌入内容(2024 最新版)

文章目录 7.1 在HTML中嵌入视频和音频7.1.1 基础知识7.1.2 案例 1&#xff1a;嵌入视频文件7.1.3 案例 2&#xff1a;嵌入音频文件7.1.4 案例 3&#xff1a;创建一个视频和音频混合的播放列表 7.2 使用 <iframe> 嵌入外部内容7.2.1 基础知识7.2.2 案例 1&#xff1a;嵌入…

如何使用保留可探测字段参数的方法解决视频监控管理平台EasyCVR无法启动的问题

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

MySQL原理(二)存储引擎(1)概述

一、存储引擎介绍 1、概念&#xff1a; &#xff08;1&#xff09;MySQL中的数据用各种不下同的技术存储在文件中&#xff0c;每一种技术都使用不同的存储机制、索引技巧、锁定水平并最终提供不同的功能和能力&#xff0c;这些不同的技术以及配套的功能在MySQL中称为存储引擎…

[GN] 设计模式——面向对象设计原则概述

文章目录 面向对象设计原则概述单一职责原则开闭原则里氏代换原则依赖倒转原则接口隔离原则合成复用原则迪米特法则 总结 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 面向对象设计原则概述 单一职责原则 一个类只负责一个功能领域中的相应职责 类…