Mysql数据库函数【Mysql】

news2024/9/22 17:28:25

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

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

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

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

相关文章

C语言数据流讲解

目录 4.1 流&#xff08;Stream&#xff09;&#xff1a;数据流动的隐喻 4.1.1 流&#xff1a;数据传输的通用接口 4.1.2 标准流&#xff1a;预定义的流通道 4.2 文件指针&#xff1a;流操作的桥梁 4.2.1 文件指针的本质与结构 4.2.2 使用文件指针操作流 图解 结语 在C…

AI研报:从Sora看多模态大模型发展

《从Sora看多模态大模型发展》的研报来自浙商证券&#xff0c;写于2024年2月。 这篇报告主要探讨了多模态大模型的发展趋势&#xff0c;特别是OpenAI发布的视频生成模型Sora&#xff0c;以及其对行业发展的影响。以下是报告的核心内容概述&#xff1a; Sora模型的发布&#x…

错误 C2872 “byte”: 不明确的符号,在rpcndr.h或者objidl.h

主要问题出在这里面 #include “objbase.h” qtcreator 5.12 可以直接运行 vsqt2022 msvs2017就要报错 错误 C2872 “byte”: 不明确的符号 E:\GGtie\out\build\x64-debug\GGtie C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\um\objidl.h 13832 解决方法…

网络七层模型之物理层:理解网络通信的架构(一)

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

C++new与delete函数

CSDN成就一亿技术人 目录 C/C内存分布&#xff1a; 一.C内存管理方式 1.new/delete操作内置类型 2.new和delete操作自定义类型 二.operato new与operator delete函数 1.operator new与operator delete函数 三.new和delete的实现原理 1.内置类型 2.自定义类型 四…

openssl 升级1.1.1.1k 到 3.0.13

下载 https://www.openssl.org/source/ tar -zxvf openssl-3.0.13.tar.gzcd openssl-3.0.13/./config enable-fips --prefix/usr/local --openssldir/usr/local/opensslmake && make install 将原有openssl备份 mv /usr/bin/openssl /usr/bin/openssl.bak mv /usr/i…

基于springboot实现房产销售系统项目【项目源码+论文说明】

基于springboot实现房产销售系统演示 摘要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff1b;对于房产销售系统当然也不能排除在外&#xff0c;随着网络技术的不断成熟&#xff0c;带动了房产销售系统…

水工电缆线施工注意事项及检验要求

水工电缆线施工是一个涉及多个环节的复杂过程&#xff0c;对施工质量、严密度、工作效率的要求都较为严格。以下是一些关键的注意事项及检验要求&#xff1a; 注意事项&#xff1a; 电缆敷设时&#xff0c;应从盘的上端引出&#xff0c;避免在支架上及地面摩擦拖拉&#xff0c;…

虚拟 DOM 的优缺点有哪些

虚拟DOM&#xff08;Virtual DOM&#xff09;技术作为现代前端开发中的重要组成部分&#xff0c;已经成为了众多流行前端框架的核心特性。它的引入为前端开发带来了诸多优势&#xff0c;同时也需要我们认真思考其潜在的考量。下面简单的介绍一下虚拟DOM技术的优势与缺点&#x…

ASR-LLM-TTS 大模型对话实现案例;语音识别、大模型对话、声音生成

参考:https://blog.csdn.net/weixin_42357472/article/details/136305123(llm+tts) https://blog.csdn.net/weixin_42357472/article/details/136411769 (asr+vad) 这里LLM用的是chatglm;电脑声音播报用的playsound 代码: ##运行 python main.pymain.py from multipro…

npm ERR! cb() never called!(已解决)

从仓库拉下来的代码&#xff0c;用npm install时报错 试了很多种方法&#xff0c;结果发现有一种可能是你的node版本过低导致的&#xff0c;可以升级node版本试一下。 node版本升级后&#xff0c;把上一次npm install错误的node_modules删除&#xff0c;重新npm install。

线上问题排查实例分析|Redis使用不同编码引发的问题

前言 某个周末的晚上突然收到一波耗时上升报警&#xff0c;仔细一看报警消息&#xff0c;原来是出现了慢查请求导致集群耗时大幅上升&#xff0c;此时业务同学也收到上游服务受影响报警。在处理问题过程中&#xff0c;运维同学发现 Redis 集群中只有部分实例出现 cpu 利用率上…

【Rust】——提取函数消除重复代码和泛型

&#x1f383;个人专栏&#xff1a; &#x1f42c; 算法设计与分析&#xff1a;算法设计与分析_IT闫的博客-CSDN博客 &#x1f433;Java基础&#xff1a;Java基础_IT闫的博客-CSDN博客 &#x1f40b;c语言&#xff1a;c语言_IT闫的博客-CSDN博客 &#x1f41f;MySQL&#xff1a…

手机和键盘的数字键盘排序为什么是不同的?

不知道你有没有注意有一个问题。我们的手机输入法中的数字键盘&#xff0c;电脑上通用的数字键盘&#xff0c;计算器上的数字键盘等排序是不同的&#xff0c;从观察者角度看&#xff0c;0-9的数字排列有从上到下的排列&#xff0c;还有从下到上的排列。为什么会出现不同的排列方…

哈希冲突解决的几种方式

目录 哈希冲突 哈希冲突-避免方式1-哈希函数的设计 1. 直接定制法--(常用) 2. 除留余数法--(常用) 3. 平方取中法--(了解) 哈希冲突-避免方式2-负载因子调节 哈希冲突-解决方式1-闭散列 1.线性探测 2.二次探测 哈希冲突-解决方式2-开散列(哈希桶) 哈希冲突 在上文中…

编程语言那么多,为什么说C++无可替代?

C语言之所以没有被替代正是因为它自身的独特优势&#xff0c;尤其是在某些领域发挥着重要的作用。 先来说说C语言的优势: 在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「C的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后…

el-form表单怎么一次验证两个el-form-item

项目场景&#xff1a; 在项目中有【设置密码】以及【确认密码】输入&#xff0c;希望在两者一致的时候&#xff0c;两个框的错误提示都消失。 问题描述 提示&#xff1a;这里描述项目中遇到的问题&#xff1a; 重现步骤&#xff1a; 1、第一个密码框 输入密码123456lyy2、确…

HashMap集合 --java学习笔记

HashMap集合 HashMap(由键决定特点):无序、不重复、无索引 (用的最多) HashMap的底层原理 HashMap跟Hashset的底层原理是一一样的&#xff0c;都是基于哈希表实现的Hashset&#xff1a;Set系列集合&#xff1a;Hashset、LinkedHashset、TreeSet --java学习笔记-CSDN博客实际…

变压吸附制氮设备原理及行业应用概览

随着科技的不断进步&#xff0c;氮气的制备和应用在各个领域应用广泛。变压吸附制氮设备作为一种高效、节能的氮气制备技术&#xff0c;逐渐被大家所熟知。本期小编将详细介绍变压吸附制氮设备的原理及其应用。 一、变压吸附制氮设备的原理 变压吸附制氮设备主要利用分子筛的特…

Camtasia2024永久免费专业的屏幕录制和视频剪辑软件

Camtasia2024专业的屏幕录制和视频剪辑软件&#xff0c;3000多万专业人士在全球范围内使用Camtasia展示产品&#xff0c;教授课程&#xff0c;培训他人&#xff0c;以更快的速度和更吸引人的方式进行沟通和屏幕分享。使您在Windows和Mac上进行录屏和剪辑创作专业外观的视频变得…