MySQL常见函数(持续更新)

Mysql——SUM()函数 SUM()函数的用法: 有案例,可以跟着博主一起无脑操作,保姆级解释,更简单直观的了解SUM()函数的用法 阅读详情

聚合函数:

求和

格式:sum(需要求和的列)

例如:sum (stu_score)            # 求学生总分

一般配合group by使用

---------------------------------------------------------------------------------------------------------------------------------

平均值

格式:avg(需要平均的列)

例如:avg (stu_score)            # 求学生平均分

一般配合group by使用

---------------------------------------------------------------------------------------------------------------------------------

最大和最小

格式:max(需要求最大的列),min(需要求最小的列)

例如:max (stu_score)            # 求学生最高分

min (stu_score)            # 求学生最高分

--------------------------------------------------------------------------------------------------------------------------------

计数

格式:count(需要计数的列)或者count(1)或者count(*)

例如:count(stu_score)          # 有多少组学生成绩

注意:

1.count(1)和count(*)会统计null值,而count(普通列)不会统计null值

2.count(主键列)走的是索引所以效率最高,count(1)只要检查有值就会计数所以略快与count(*),而count(普通列)需要筛选null,所以最慢

效率:count(主键列) > count(1) > count(*) > count(普通列)

------------------------------------------------------------------------------------------------------------------------------

拼接字符串

格式:group_concat([distinct] expr [,expr ...]

               [order by {unsigned_integer | col_name | expr} [asc | desc] [,col_name ...]]

                [separator str_val])

distinct:可选,用于去除重复值

expr:要连接的列或表达式

order by:可选,用于指定连接前对值的排序方式

separator:可选,用于定义连接值之间的分隔符,默认为逗号(,)

数学类函数:

绝对值

格式:abs(需要绝对值的列)

例如:abs(stu.score)            # 求绝对值

----------------------------------------------------------------------------------------------------------------------------

天花板数

格式:ceil(需要求整数的数字)      # 大于或等于x的最小整数

例如:ceil(2.135)   结果:3

------------------------------------------------------------------------------------------------------------------------------

地板数

格式:floor(需要求整数的数字)      # 小于或等于x的最大整数

例如:floor(5.321)  结果:5

-------------------------------------------------------------------------------------------------------------------------------

限制小数点位数

格式:round(需要限制小数点的数, [限制位数])   # 限制小数点位数,不填位数默认为0

例如:round(5.132163565, 2)   结果:5.13

条件判断函数:

case when

格式:

    case

        when 条件1 then 值1

        when 条件2 then 值2

        when 条件3 then 值3

        ......

        else 值n

    end as 别名

执行流程:

    1. case.when值选择语句, 首先会先判断条件1是否成立, 如果成立则执行对应的 值1, 整个case when语句结束.

    2. 如果条件1不成立, 则会立即执行条件2, 看其是否成立, 成立走对应的值2, 然后整个语句结束.

    3. 如果条件2不成立, 则会立即执行条件3...依次类推.

    4. 如果所有的条件都不成立, 则执行 else语句, 然后整个case.when结束.

---------------------------------------------------------------------------------------------------------------------------------

if

格式: if(关系表达式, 值1, 值2)

执行流程: 先执行关系表达式, 看其结果是否成立, 成立则返回值1, 否则返回值2.

--------------------------------------------------------------------------------------------------------------------------------

相等时输出NULL

格式:nullif(值1, 值2)      # 判断值1和值2是否相等,相等等于null,不等为值1

例如:nullif(3, 1)    结果:3

nullif(1,1)     结果:null

时间类函数:

当前时间--年月日

格式:curdate()       # 获取当前时间,年月日

例如:select curdate();   结果: 2024-08-02       

------------------------------------------------------------------------------------------------------------------------------

当前时间--年月日

格式:curtime()       # 获取当前时间,时分秒

例如:select curtime();   结果: 18:23:17  

-------------------------------------------------------------------------------------------------------------------------------

当前时间--年月日时分秒

格式:now()          # 获取当前时间,年月日时分秒

例如:select now();   结果:2024-08-08 18:16:49    

---------------------------------------------------------------------------------------------------------------------------------

两个时间点间的天数

格式:datediff(时间A, 时间B)       # 时间A - 时间B之间的天数

例如:select datediff('2021-01-01', '2020-02-01');   结果:335

-----------------------------------------------------------------------------------------------------------------------------

指定减去年/月/日多少天

格式:subdate(时间, [interval] 数字 [day | month | year])

date:要从中减去时间间隔的原始日期或日期时间值.

expr:要减去的时间间隔的数量.

unit:时间间隔的单位,如DAY、MONTH、YEAR等。这个单位指定了expr所代表的时间间隔的类型.

例如:

select subdate(curdate(), weekday(curdate()));                     # 本周第一天

select subdate(curdate(), interval (weekday(curdate()) - 6) day);      # 本周最后一天

select subdate('2000-01-19', interval (year('2000-01-19') - 2024) year);  #将2000替换成了2024

---------------------------------------------------------------------------------------------------------------------------------

别再死记硬背了!一张图搞懂无刷电机半桥与全桥驱动的核心差异(附避坑指南) 本文深入解析无刷直流电机的半桥与全桥驱动方式的核心差异,提供直观对比与选型指南。半桥驱动结构简单、成本低,适合低要求场景;全桥驱动性能优越但复杂,适用于高精度控制。文章还包含实战避坑指南,帮助工程师优化驱动方案选择与应用。 阅读详情

相关推荐

先进封装基础知识

想象一下,芯片就像是电脑或手机的大脑,但它非常脆弱,需要被保护起来。芯片封装就是给芯片穿上一件“保护衣”,这件“保护衣”不仅可以保护芯片,还能帮助芯片与外部世界进行沟通。

阿拉伯梳子的专栏 1144

SUM()在MySQL中加减使用

在MySQL中SUM进行新建的时候: 正确写法: SUM(B.REAL_PRICE) - SUM(B.COST_PRICE) 错误写法: //但是这种 写法在ORACLE和DB2中是可以的 SUM(B.REAL_PRICE-B.COST_PRICE)

黑冰[̲̅V̲̅I̲̅P̅] 2万+

想发故障诊断论文?手把手教你用CWRU数据集复现第一个Baseline模型

本文提供了一份基于CWRU轴承数据集的故障诊断Baseline模型实战指南,手把手教你从数据准备到模型构建的全流程。通过详细的Python代码示例和学术级实验设计,帮助初学者快速复现第一个故障诊断模型,为发表高质量论文奠定基础。

weixin_28681255的博客 428

mysql求和函数_MySQL的sum()函数

如下图,这是一个关于用户参加活动,每个活动会给这位用户评分的一个表:用户1参加了A活动,评分100;用户2参加了B活动,评分98,又参加了D活动,评分10;用户3参加了C活动,评分99需求:把以上四条数据按照每个用户的 总分 降序排列SQL:SELECT SUM(score),user_id,campaign_id FROM 表名 GROUP BY (user_id) ORDER BY SUM(s...

weixin_29022299的博客 5922

Mac用户必看:Typora最新版永久激活+弹窗屏蔽保姆级教程(附崩溃解决方案)

本文为Mac用户提供了一份详尽的Typora最新版永久激活与弹窗屏蔽教程。通过修改关键JS文件,实现软件激活状态并彻底关闭成功提示弹窗。文章深入剖析了操作原理,并重点提供了解决由此引发的多文档崩溃问题的实用临时方案,同时客观讨论了该方法的局限性与潜在风险。

wine的专栏 2372

window下安装并使用nvm(含卸载node、卸载nvm、全局安装npm)

文章目录一、卸载node二、安装nvm三、配置路径和下载源四、使用nvm安装node五、nvm常用命令六、卸载nvm七、遇到的问题 nvm 全名 node.js version management,顾名思义是一个nodejs的版本管理工具。通过它可以安装和切换不同版本的nodejs。 一、卸载node 如果你已经安装了node,那么你需要先卸载node,如果你没有安装那直接跳过这一步到下一步。 打开控制面板 -> 打开程序和功能 -> 右上角搜索输入node -> 右键卸载 为了确保彻底

HuangsTing的博客 41万+

mysql sum()函数及减法

写sql的时候发现需要用到减法,搜了一下也没找到这么个函数,看到有人直接用 ‘-’   所以我也用了 修改前 SELECT (WIN.SUM(AMOUNT)-REVOKE.SUM(AMOUNT)) AS BONUS_AMOUNT FROM (SELECT SUM(AMOUNT)  FROM order WHERE ORDER_TYPE = 'MY_WIN') WIN,

dylanwang_cn的博客 6万+

跟着团子学SAP:SAP用户状态管理详解(含权限分配等) OK02

SAP用户状态详细配置逻辑及解析

Lucas1211的博客 3万+

MySQL笔记7:sum和count用法总结

MySQL中sum和count用法总结 1.sum (1)sum()函数里面的参数是列名的时候,是计算列名的值的相加,而不是有值项的总数。 (2)sum(条件表达式),如果记录满足条件表达式就加1,统计满足条件的行数 2.count (1)COUNT()函数里面的参数是列名的的时候,那么会计算有值项的次数。(NULL 不计入,......

魏波 2万+

vue项目基于WebRTC实现一对一音视频通话

vue项目基于WebRTC实现一对一音视频通话。完整代码gitee地址: https://gitee.com/wade-nian/wdn-webrtc.git。

qq_920189602的博客 6648

Android 14.0 SystemUI状态栏居中显示时间和修改时间显示样式

在14.0的系统rom定制化开发中,在systemui状态栏系统时间默认显示在左边和通知显示在一起,但是客户想修改显示位置,想显示在中间,所以就要修改SystemUI 的Clock.java 文件这个就是管理显示时间的,居中显示的话就得修改布局文件了

安卓兼职framework和app工程师的博客 978

MySQL函数大全(持续更新)

持续更新MySQL的常用和高阶函数。

milk_yan的博客 1399

【系统分析师】核心考点:100个高频知识点汇总

本文系统梳理了系统分析师考试的11大领域高频考点,重点解析了计算机硬件与体系结构的7个核心知识点:计算机五大部件(CPU/存储器/总线等)、校验码类型(奇偶/海明/CRC)、CISC与RISC指令系统对比、总线分类与特性、RAID磁盘阵列级别、流水线技术原理及Flynn系统分类法。内容涵盖硬件组成、数据校验、指令架构、存储技术等关键概念,通过表格对比和公式说明,为考生提供结构化的知识框架与备考重点。

数据知道的博客 5571

MYSQL函数及常用知识 持续更新

json_extract(字段名, ‘.参数名′)将string转成json并获取指定参数名的值(注:当字段值为空时会报错,所以可以使用下面的函数配合使用)JSONVALID(字段名)判断字段json是不是空的,一般配合IF使用,如IF(JSONVALID(字段名),jsonextract(字段名,′.参数名' ) 将string转成json并获取指定参数名的值(注:当字段值为空时会报错,所以可以使用下面的函数配合使用) JSON_VALID(字段名) 判断字段json是不是空的,一般配合IF使用,如

a15906449458的博客 804

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

mysql常用函数使用场景总结(持续更新)

mysql常用函数汇总

weixin_43401380的博客 963

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

MySQL学习十:常用函数与常见题型总结(持续更新中)

本文基于前段时间在牛客网找的 MySQL 题目进行的练习,总结出了一些较为常用的函数,供大家进行一定的参考。

大面鱼的博客 1311

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

总结持续更新--mysql常用内置函数

点击查看官方文档: 一、数学函数 点击进入详细参考 BIN(x) //数字转成二进制(OCT返回八进制,HEX返回十六进制) PI()//输出圆周率 SIGN(x) 返回代表数字x的符号的值 SQRT(x) 返回一个数的平方根 POW(6,2) select POW(6,2) //返回6的2次方 ABS(x) 返...

西瓜的博客 779

mysql 常用函数汇总,持续更新。。。

mysql常用函数汇总

hfs1992的博客 276

MYSQL常用函数【持续更新】

-- 把字符串从指定【位置】开始的指定【长度】的字符替换成【指定值】 -- 参数1: 被执行字符串;参数2: pos;参数3:len,参数4:替换值 select INSERT(‘123456789’,4,4,'****'); -- 截取右边开始的指定【长度】 select RIGHT('123456', 4); -- 左边开始 select LEFT('123456', 4); ...

hc_zhuzhu的博客 189

MySQL 常用函数总结【持续更新】

起止日期应该是DATETIMETIMESTAMP或DATE类型的列。如果它们是字符串,你可能需要先将它们转换为日期或时间戳类型;第一个参数,此处是SECOND, 若计算小时,可换为HOUR. 换算分钟数,以此类推。

雨笋情缘的专栏 342

【日用】Oracle和MySql函数区别 持续更新

一、日期格式化 Oracle to_char(data,'YYYYMMDD') MySql date_format(data,'%Y-%m-%d') %Y:代表4位的年份 %y:代表2为的年份 %m:代表月, 格式为(01……12) %c:代表月, 格式为(1……12) %d:代表月份中的天数,格式为(00……31) %e:代表月份中的天数, 格式为(0……31) %H:代表小时,格式为(00……23) %k:代表 小时,格式为(0……23) %h: 代表小时,格式为(01……12) %I: 代表小时,格

梓莘 343

mysql 函数编程大全(持续更新)

insert ignore insert ignore表示,如果中已经存在相同的记录,则忽略当前新数据 如果您使用一个例如“SET col_name = col_name + 1”的赋值,则对位于右侧的列名称的引用会被作为DEFAULT(col_name)处理。因此,该赋值相当于SET col_name = DEFAULT(col_name) + 1。 MySQL 的CAST()和C...

Z.X的博客 238

常用mysql函数记录(持续更新)

功能:和concat()一样,将多个字符串连接成一个字符串,但是可以一次性指定分隔符。语法:concat_ws(separator, str1, str2, …语法:concat(str1, str2,…功能:将多个字符串连接成一个字符串。结果:one-two-three。结果:-onetwothree。功能:返回字符串所占的字节数。语法:length(str)

qq_42331108的博客 209

好用的mysql内置函数总结(持续更新中)

Mysql内置的ip处理函数,可以用int 无符号类型进行存储; mysql> insert into pv values(inet_aton('127.0.0.1')); mysql> select inet_ntoa(ip) from pv;

125

mysql常用函数(持续更新)

substring_index(input,split,index):input为要截取的字符,split为分隔符,Index为要截取第index个分隔符左(index为正)或右(index为负)的字符串。//一般就是index为1或者-1

qq_47988411的博客 104

MySQL 常用函数(持续更新)

String jpql = "SELECT \n" + "GROUP_CONCAT(u.id_) Ids,\n" + "FROM table_user u" + "WHERE u.is_delete_ = 0 AND a.status_ = 1" + "GROUP BY u.sex";

sjn0815的博客 143
上一篇: MySQL基础
下一篇: 常见MySQL语句的区别
电子海鸥
博客等级 码龄6年 799粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值