Mysql数据库函数【Mysql】

Mysql数据库函数【Mysql】

  • 前言
  • 版权
  • Mysql数据库函数
  • 常用函数
  • 排序与分页
    • 排序
    • 分页
  • 单行函数
    • 2.数值函数
      • 2.1基本函数
      • 2.2角度与弧度
      • 2.3三角函数
      • 2.4指数与对数函数
      • 2.5进制间的转换
    • 3.字符串函数
    • 4.日期和时间函数
      • 4.1获取日期、时间
      • 4.2日期与时间戳的转换
      • 4.3获取月份、星期、星期数、天数等函数
      • 4.4日期的操作函数
      • 4.5时间和秒钟转换的函数
      • 4.6 计算日期和时间的函数
      • 4.7日期的格式化与解析
    • 5.流程控制函数
    • 6.加密与解密函数
    • 7.Mysql信息函数
    • 8.其他函数
  • 聚合函数
  • 最后

前言

2024-3-25 14:19:38

以下内容源自《【Mysql】》
仅供学习交流使用

版权

禁止其他平台发布时删除以下此话
本文首次发布于CSDN平台
作者是CSDN@日星月云
博客主页是https://jsss-1.blog.csdn.net
禁止其他平台发布时删除以上此话

Mysql数据库函数

常用函数

函数解释
ROUND(x,y)返回一个对x的值进行四舍五入后最接近x的值,并保留到小数点后面Y位
CONCAT(s1,s2…n)连接s1,s2…,sn为一个字符串
YEAR(date)MONTH(date) / DAY(date)返回具体的日期值
HOUR(time) MINUTE(time) /SECOND(time)返回具体的时间值、
DATEDIFF(date1,date2)返回date1 - date2的日期间隔天数
CASE WHEN 条件1 THEN 结果1 WHEN 条件2 THEN 结果2…[ELSE resultn] END相当于Java的if…else if…else…

现有课程信息表course_info_tb(cid 课程ID,tag 视频类别 release_date 发布日期,duration 视频时长)
示例数据如下
在这里插入图片描述

用户观看记录表play_record_tb(uid 用户ID,cid 课程ID,start time 开始观看时间,end_time 结束观看时间,score 用户评分)
在这里插入图片描述

请统计每类视频的平均播放进度,对于每条播放记录,播放进度=播放时长÷视频时长。特殊地,如果播放时长大于视频时长,则播放进度记为100%。结果以百分数的形式保留一位小数。结果按播放进度降序 排序示例输出如下

tag  	avg_play_progress
c++ 	61.1%
python 	34.4%
/*

现有课程信息表course_info_tb(cid 课程ID,tag 视频类别 release_date 发布日期,duration 视频时长)
示例数据如下


用户观看记录表play_record_tb(uid 用户ID,cid 课程ID,start time 开始观看时间,end_time 结束观看时间,score 用户评分)


请统计每类视频的平均播放进度,对于每条播放记录,播放进度=播放时长÷视频时长。特殊地,如果播放时长大于视频时长,则播放进度记为100%。结果以百分数的形式保留一位小数。结果按播放进度降序 排序示例输出如下

tag  	avg_play_progress
c++ 	61.1%
python 	34.4%
 */

SELECT
    c.tag,
    CONCAT(
        ROUND(AVG(
                         CASE
                             WHEN end_time < start_time THEN 0
                             WHEN end_time > DATE_ADD(start_time, INTERVAL c.duration MINUTE) THEN 100
                             ELSE (UNIX_TIMESTAMP(end_time) - UNIX_TIMESTAMP(start_time)) / (c.duration * 60) * 100
                             END
                     ), 1)
        ,'%') AS avg_play_progress
FROM play_record_tb p
         JOIN course_info_tb c ON p.cid = c.cid
GROUP BY c.tag
ORDER BY avg_play_progress DESC;


/*

create table course_info_tb
(
    id           int         null,
    cid          int         null,
    release_date date        null,
    duration     int         null,
    tag          varchar(16) null
);

INSERT INTO ms_blibli.course_info_tb (id, cid, release_date, duration, tag) VALUES (1, 9001, '2022-01-01', 60, 'c++');
INSERT INTO ms_blibli.course_info_tb (id, cid, release_date, duration, tag) VALUES (2, 9002, '2022-01-01', 90, 'python');
INSERT INTO ms_blibli.course_info_tb (id, cid, release_date, duration, tag) VALUES (3, 9003, '2022-01-01', 45, 'sql');
INSERT INTO ms_blibli.course_info_tb (id, cid, release_date, duration, tag) VALUES (4, 9004, '2022-01-02', 45, 'java');



 create table play_record_tb
(
    id         int      null,
    uid        int      null,
    cid        int      null,
    start_time datetime null,
    end_time   datetime null,
    score      int      null
);

INSERT INTO ms_blibli.play_record_tb (id, uid, cid, start_time, end_time, score) VALUES (1, 1001, 9001, '2022-01-01 08:30:00', '2022-01-01 09:00:00', 5);
INSERT INTO ms_blibli.play_record_tb (id, uid, cid, start_time, end_time, score) VALUES (2, 1001, 9002, '2022-01-02 08:30:00', '2022-01-02 09:01:00', 4);
INSERT INTO ms_blibli.play_record_tb (id, uid, cid, start_time, end_time, score) VALUES (3, 1001, 9001, '2022-01-03 09:30:00', '2022-01-03 10:20:00', 5);
INSERT INTO ms_blibli.play_record_tb (id, uid, cid, start_time, end_time, score) VALUES (4, 1002, 9001, '2022-01-01 08:30:00', '2022-01-01 09:00:00', 3);




 */

排序与分页

排序

Mysql笔记:第05章_排序与分页

使用 ORDER BY 子句排序
ASC(ascend): 升序
DESC(descend):降序
ORDER BY 子句在SELECT语句的结尾。

单列排序

多列排序

分页

格式:
LIMIT 位置偏移量, 行数
第一个“位置偏移量”参数指示MySQL从哪一行开始显示,是一个可选参数,如果不指定“位置偏移量”,将会从表中的第一条记录开始(第一条记录的位置偏移量是0,第二条记录的位置偏移量是1,以此类推);第二个参数“行数”指示返回的记录条数。

分页显式公式:(当前页数-1)*每页条数,每页条数:

SELECT * FROM table LIMIT(PageNo - 1)*PageSize,PageSize;

单行函数

MySQL笔记:第07章_单行函数

2.数值函数

2.1基本函数

在这里插入图片描述

2.2角度与弧度

在这里插入图片描述

2.3三角函数

在这里插入图片描述

2.4指数与对数函数

在这里插入图片描述

2.5进制间的转换

在这里插入图片描述

3.字符串函数

在这里插入图片描述

注意:MySQL中,字符串的位置是从1开始的。

4.日期和时间函数

4.1获取日期、时间

在这里插入图片描述

4.2日期与时间戳的转换

在这里插入图片描述

4.3获取月份、星期、星期数、天数等函数

在这里插入图片描述

4.4日期的操作函数

在这里插入图片描述

4.5时间和秒钟转换的函数

在这里插入图片描述

4.6 计算日期和时间的函数

在这里插入图片描述

4.7日期的格式化与解析

在这里插入图片描述

5.流程控制函数

在这里插入图片描述

6.加密与解密函数

在这里插入图片描述

7.Mysql信息函数

在这里插入图片描述

8.其他函数

在这里插入图片描述

聚合函数

MySQL笔记:第08章_聚合函数

聚合函数类型

  • AVG()
  • SUM()
  • MAX()
  • MIN()
  • COUNT()

最后

2024-3-25 14:19:42

迎着日光月光星光,直面风霜雨霜雪霜。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

在视频号上如何开店?个人玩家可以来做吗?过来人经验分享!

大家好&#xff0c;我是电商小布。 随着视频号小店这个项目的发展&#xff0c;整个体系越来越成熟&#xff0c;数据也在逐渐上升。 就去年来看&#xff0c;视频号带货的GMV值已经超过了3000亿&#xff0c;整个订单的数量增长了244%。 那么作为一个电商新手&#xff0c;想要在…

代码随想录算法训练营第三十天| 回溯算法总结

回溯算法核心&#xff1a;for循环横向遍历&#xff0c;递归纵向遍历&#xff0c;回溯不断调整结果集。对于startIndex&#xff08;startIndex来控制for循环的起始位置&#xff09;的使用&#xff1a; 如果是一个集合来求组合的话&#xff0c;就需要startIndex&#xff0c;例如…

计算机领域热门技术词汇

文章目录 计算机领域热门技术词汇1、机器学习 machine learning2、神经网络 neural network3、深度学习 deep learning4、自然语言处理 natural language processing5、计算机视觉 computer vision6、大数据 big data7、数据挖掘 data mining&#xff08;DM&#xff09;8、云计…

图像变换(python)

前言 这个Python没学过&#xff0c;写的是真的不方便&#xff0c;有很多问题还没解决&#xff0c;暂时不想写了&#xff0c;感兴趣的同学可以完善一下。设计的思路就是摆几个控件然后将对应的函数实现&#xff0c;这个Python的坐标放置以及控件的大小我没弄懂&#xff0c;算出…

Prometheus(六):Blackbox监控安装配置

目录 1 Blackbox Exporter安装配置1.1 Blackbox Exporter简介1.2 安装1、安装-使用源码包安装下载安装blackbox.yml文件配置快速启动文件 2、安装-使用docker 1.3 Prometheus配置1、http监控2、ping探测-ip3、https probe-DNS解析4、metrics配置5、TCP监控-探测端口 总结 1 Bla…

词曲创作只需几秒,「AI作曲家」Suno引爆音乐圈,第一手体验和攻略来了

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 新建了人工智能中文站https://ai.weoknow.com 每天给大家更新可用的国内可用chatGPT资源 发布在https://it.weoknow.com 更多资源欢迎关注 有了 Suno 这个「作曲助手」&#xff0c;人人都可以创建自己想听的歌曲。 自…

【在FastAPI应用中嵌入Gradio界面的实现方法】如何在有一个Fastapi应用的基础上,新加一个gradio程序

官网教程&#xff1a;https://www.gradio.app/guides/sharing-your-app#mounting-within-another-fast-api-app 实践&#xff1a; import gradio as gr from fastapi import FastAPI from starlette.middleware.cors import CORSMiddlewareCUSTOM_PATH "/gradio"a…

Java八股文(SpringCloud)

Java八股文のSpringCloud SpringCloud SpringCloud 什么是Spring Cloud&#xff1f; Spring Cloud是一个用于构建分布式系统的开发工具箱&#xff0c;它基于Spring Boot框架&#xff0c;提供了一系列的组件和工具&#xff0c;用于帮助开发者快速搭建和管理分布式系统中的各种常…

javaSwing愤怒的小鸟游戏

一、简介 游戏名称是“愤怒的小鸟”&#xff0c;英文称为“AngryBird”。 “愤怒的小鸟”是著名游戏公司Rovio偶然间开发出来的益智游戏&#xff0c;从2009年12月上市到iOS。&#xff0c;讲述了鸟类和猪因为猪偷鸟蛋反生的一系列故事。游戏的类型版本是横向版本的水平视角&…

Warning logs 2024-03-23

给旧的笔记本安装ubuntu系统&#xff0c;并实现ssh远程连接 1、下载ubuntu系统 ubuntu下载链接 选择带桌面版本 2、准备U盘 3、使用UltraISO制作启动盘 使用UltraISO&#xff0c;打开刚才下载的ubuntu**.iso文件 4、进入BIOS&#xff0c;选择U盘启动 5、Warning 1 invali…

实时数仓项目《二》-利用chatgpt prompt完成基础维表的创建

系列文章&#xff1a; 实时数仓项目《一》-实时数仓架构-CSDN博客 目录 5. ods->dwd:维表关联方案及维表加工、导入hbase 5.1 维表关联方案 5.2 退维后结果去向 5.3 创建维表&#xff1a;基础业务库表数据同步到hbase 5.3.1 cdc 读取mysql数据&#xff0c;生成临时映射…

C/C++笔记-make编译时需要注意的问题(编译可执行程序时链接的so出现未定义的引用)

背景 环境是这样的&#xff0c;一个复杂的C项目&#xff0c;本来在A机器上能编译过去的&#xff0c;但放到B机器上编译可执行程序时链接的so出现未定义的引用。这就有点莫名奇妙了。 原因 我这边造成这个现象的原因有以下几点&#xff1a; ① 在makefile中所有的-I&#xff…

【LeetCode热题100】230. 二叉搜索树中第K小的元素(二叉树)

一.题目要求 给定一个二叉搜索树的根节点 root &#xff0c;和一个整数 k &#xff0c;请你设计一个算法查找其中第 k 个最小元素&#xff08;从 1 开始计数&#xff09;。 二.题目难度 中等 三.输入样例 示例 1&#xff1a; 输入&#xff1a;root [3,1,4,null,2], k 1…

newOJ 1099: 输油管道问题

目录 题目链接&#xff1a; 思路&#xff1a; 代码&#xff1a; 题目链接&#xff1a; P1099 - 输油管道问题 - New Online Judge (ecustacm.cn) 思路&#xff1a; 因为主输油管道是由东向西的&#xff0c; 而每口油井要有一条输油管道和主输油管道连接&#xff08;或南或北…

[DDD] ValueObject的一种设计落地及应用

目录 前言一、ValueObject二、设计2.1 接口2.2 单一值ValueObject2.3 单一字符串ValueObject 三、实现3.1 示例3.1.1 PhoneNumber3.1.2 SocialCreditCode 四、使用4.1 异常处理4.2 Json 反/序列化4.2.1 请求体4.2.2 HTTP接口4.2.3 用例 4.3 JPA/MyBatis4.3.1 Converter或TypeHa…

Harmony(鸿蒙)Stage模型综述

设计思想 ​Stage模型的设计&#xff0c;是为了提供给开发者一个更好的开发方式&#xff0c;更好的适用于多设备、分布式场景。 ​Stage模型的设计思想如下图所示。 ​Stage模型的设计基于如下三个出发点&#xff1a; 应用进程的有序管理 随着设备的内存越来越大&#xff0…

SM4加密是什么?SM4算法在国密HTTPS协议中的作用

SM4加密算法是一种分组密码标准&#xff0c;由国家密码管理局于2012年3月21日发布&#xff0c;相关标准为“GM/T 0002-2012《SM4分组密码算法》&#xff0c;与国际上广泛使用的AES等算法类似&#xff0c;SM4同算法样用于保护数据的机密性&#xff0c;确保信息在传输过程中不被未…

罗德与施瓦茨 RS®FSV3000 信号与频谱分析仪

R&SFSV3000 信号与频谱分析仪 罗德与施瓦茨 R&SFSV3000 信号与频谱分析仪一键即可测量&#xff0c;可以通过基于事件的操作捕获信号&#xff0c;并使用 SCPI 记录器轻松编写脚本程序&#xff0c;从而快速设置复杂测量。分析仪还具有出色的测量速度&#xff0c;可实…

学习鸿蒙基础(8)

一、BuilderParam装饰器 当开发者创建了自定义组件&#xff0c;并想对该组件添加特定功能时&#xff0c;例如在自定义组件中添加一个点击跳转操作。若直接在组件内嵌入事件方法&#xff0c;将会导致所有引入该自定义组件的地方均增加了该功能。为解决此问题&#xff0c;ArkUI引…

关于「技术开发技能」课程

本课程分为三个部分&#xff0c;带您了解如何使用大模型平台、如何训练与部署大模型及生成式AI产品应用与开发&#xff0c;您将能了解各类服务的优势、功能、典型使用案例、技术概念和成本。 学习任选的两个课程模块&#xff0c;并通过测验者&#xff0c;将授予「技术开发技能…