MySQL 经验集总结(更新ing)

news2024/11/20 8:48:02

文章目录

      • 1. 函数使用方法
        • 1.1 时间差函数-timestampdiff()
        • 1.2 datediff()函数
        • 1.3 date_format()函数-日期格式化
        • 1.4 substring()函数-截取字符串
          • 1.4.1 两个参数
          • 1.4.2 三个参数

1. 函数使用方法

1.1 时间差函数-timestampdiff()

语法:
timestampdiff(unit,begin,end)
参数:
begin和end可以为DATE或DATETIME类型,并且可允许参数为混合类型。
unit — 确定(end-begin)时间差的单位,MySQL支持以下单位。

单位MySQL(unit)
微妙microsecond
second
分钟minute
小时hour
day
week
month
quarter
year

作用:
根据单位返回时间差,对于传入的begin和end不需要相同的数据结构,可以存在一个为Date一个DateTime。

示例:
在这里插入图片描述
在这里插入图片描述

法一:用avg计算完播率
select a.video_id,
round(avg(case when timestampdiff(second,a.start_time,a.end_time) >= b.duration then 1 else 0 end),3) as avg_comp_play_rate
from tb_user_video_log a
left join tb_video_info b 
on a.video_id = b.video_id
where date_format(a.start_time,'%Y')=2021   
and date_format(a.end_time,'%Y')=2021    
group by a.video_id
order by avg_comp_play_rate desc

法二:用图片方法计算完播率
select a.video_id,
round(sum(if(end_time - start_time >= duration,1,0))/count(start_time),3) 
as avg_comp_play_rate
from tb_user_video_log a
left join tb_video_info b
on a.video_id = b.video_id
where year(a.start_time)=2021
and year(a.end_time)=2021
group by a.video_id
order by avg_comp_play_rate desc

1.2 datediff()函数

语法:
DATEDIFF(date1,date2)
参数:
date1 和 date2 参数是合法的日期或日期/时间表达式。
注释:只有值的日期部分参与计算。
作用:
DATEDIFF() 函数返回两个日期之间的时间。datediff函数的结果为date1-date2的值。

1.3 date_format()函数-日期格式化

语法:
DATE_FORMAT(date,format)
参数:
date — 参数是合法的日期;
format — 规定日期/时间的输出格式
作用:
DATE_FORMAT()函数用于以不同的格式显示日期/时间数据

使用格式参考:
https://www.w3school.com.cn/sql/func_date_format.asp
具体用法参考‘数据会说话’兄的博客:
https://blog.csdn.net/xjh163/article/details/96312001

1.4 substring()函数-截取字符串

1.4.1 两个参数

语法:
substring(string ,index) | substring(string from index)
即substring(被截取的字符串 , 开始位置序号) | substring(被截取的字符串 from开始位置序号)
参数:
string:被截取的字符串,表示需要从该字符串截取目标字符。
index:开始截取的位置,为整数。当index为0时返回的是空值;当index为正数表示从左到右数的位置序数;当index为负数表示从右到左的位置序数。
作用:
从指定字符串的某序数开始获取字符。

1.4.2 三个参数

语法:
substring(string ,index,len) | substring(string from index for len)
即substring(被截取字符串 ,开始位置,长度) | substring(被截取字符串 from 开始位置 for长度)
参数:
string:被截取的字符串,表示需要从该字符串截取目标字符。
index:开始截取的位置,为整数。同上。
len:表示截取字符串的长度。

作用:
从指定字符串的某个位置开始获取指定长度的字符。

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

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

相关文章

一种能把前端恶意代码关在“笼子”里的技术方案

日新月异的新一代信息化技术使企业信息技术都发生了翻天覆地的变化,推动企业App迈向了“智慧化”“数字化”。 在企业应用数字化转型的推动过程中,数据集中共享、IT(信息技术)/0T(操作技术)融合、物联网终…

RDD调用机制、数据流在RDD中的流通

问题 一直很疑惑spark中数据的流向是如何的,网上的文章基本上都是在讲述RDD的基本概念,看来看去都是些RDD直接相互依赖、Spark构造DAG、RDD计算只能由行动算子触发等一些基础概念,没有解开我的疑惑,因此自己点击源码查看&#xf…

《InnoDB引擎》 Master Thread、IO Thread、Purge Thread

后台线程 后台线程的主要作用是负责刷新内存池中的数据,保证缓冲池中的内存缓存的是最近的数据。此外将已修改的数据文件刷新到磁盘文件,同时保证在数据库发生异常的情况下InnoDB能恢复到正常运行的状态。 InnoDB存储引擎是多线程的模型,因此…

用键盘传输小数据,破除解决多层远程访问或防火墙限制不能粘贴复制的问题

经常在项目上遇到这样的问题,由于vpn或者防火墙限制远程连接到服务器时不能进行粘贴复制文本。本机改好的代码还需要在远程机上在敲一遍,并且不能传输文件,每次传输东西都要找管理员给传输文件很麻烦,所以想到了这样一个又蠢又灵活…

ME60单板加载故障维护经验

ME60单板加载故障维护经验 加载是设备管理中重要的模块。它完成系统软件和逻辑软件从主控板的 CFcard下载到接口板或者交换网板的存储区域。接口板或者交换网板的存储区域有以下三种: 1 单板 CFcard存储区域 2 单板 bootrom存储区域 3 单板逻辑芯片内部存储区…

数字先锋 | 教育资源乘云而来!46万城乡学子共享名师课堂

城乡学生同上“一堂课”,是一种怎样的体验?在淄博市张店区重庆路小学的教室里,正在进行着这样一节特殊的数学课。 数学老师演示着手里的教具,将抽象的教材讲解得生动精彩,班级内的同学听得聚精会神。黑板上方的一块屏幕…

聚水潭对接金蝶云星空数据方案

01 系统说明: 聚水潭:是由上海聚水潭网络科技有限公司基于SaaS模式开发的商家ERP软件系统,公司创始团队聚集了一群来自阿里、麦包包等知名企业的技术、仓管、市场营销精英,具有近二十年传统及电商企业的ERP实践经验。秉承互联网开…

软件开发 23个设计模式收集

从基础的角度看,设计模式是研究类本身或者类与类之间的协作模式,是进行抽象归纳的一个很好的速成思路。后面阅读设计模式后,为了加深理解,对相关图片进行了描绘和微调。 从技术的角度已经有很多好的总结,本文会换一种角…

基于docker部署redis多主多从集群

在docker中部署redis多主多从集群,准备部署三对一主一从服务,共6个 首先获取镜像 这里使用的是6.0.8版本 docker pull redis:6.0.8 启动六个容器 docker run -d --name redis-node1 --net host --privilegedtrue -v /usr/local/redis/node1:/data red…

Vue实现点击按钮或者图标可编辑输入框

博主介绍 📢点击下列内容可跳转对应的界面,查看更多精彩内容! 🍎主页:水香木鱼 🍍专栏:后台管理系统 文章目录 简介:这是一篇有关【Vue - 实现点击按钮(笔图标&#xff…

VS五子棋大战

本项目里面只是浅述了一下基本实现步骤,很多细节的地方都在注释中标注了,如需完整代码请去博主码云哦。zqy (zhang-qinyang1) - Gitee.com 目录 一、用到的关键技术点 二、主要模块 1.使用mybatis操作连接数据库 1.1修改spring配置文件 1.2创建实体…

json.converter

爬虫组件分析目录概述需求:设计思路实现思路分析1.ActivityProcessor2.AssociationJsonConverter3.BaseBpmnJsonConverter4.BoundaryEventJsonConverter5.BpmnJsonConverter拓展实现参考资料和推荐阅读Survive by day and develop by night. talk for import biz , …

【出人意料】一种基于Vue2监听器(watch)和定时器(setInterval)的轨迹播放方法实现方案

1、需求 数据库中有设备的经纬度记录,前端需要实现从数据库中取到数据后在地图上显示轨迹,显示轨迹的方式就是一个一个点地有序显示。点与点之间用线段连接,最终构成一条轨迹线。 2、场景过程 前端定义一个播放暂停按钮;点击播…

【Flutter】【package】auto_size_text 文字自动适配大小

文章目录前言一、auto_size_text 是什么?二、使用1.简单的使用2.参数说明3.group4.rich text总结前言 auto_size_text :https://pub.flutter-io.cn/packages/auto_size_text 一、auto_size_text 是什么? 第三方的插件,能够自动适…

DDD的落地,需要基础设施的大力支持

1. 概览 对于复杂业务,DDD 绝对是一把神器,由于它过于复杂,很多人望而却步。因为太过严谨,形成了很多设计模式、规范化流程,这些爆炸的信息已经成为 DDD 落地的重大阻力。 但,如果我们将这些规范化的流程…

1.4_28 Axure RP 9 for mac 高保真原型图 - 案例27【中继器 - 后台管理系统5】功能-弹窗修改数据

相关链接 目录Axure中文学习网AxureShopAxureShop-QA 案例目标1. 了解使用中继器,弹窗修改数据的实现方式 一、成品效果 Axure Cloud 案例27【中继器 - 后台管理系统5】功能-弹窗修改数据 版本更新一、修改功能   1.1 点击修改按钮,标记该条数据&am…

国产软件Bigemap与国产在线地图源<星图地球数据云>推动国内新GIS应用

自星图地球数据云(GEOVIS Earth Datacloud)图源成为国产基础软件Bigemap的在线地图数据服务平台之一以来,其日均地图瓦片请求调用量目前已经超过2亿。 “星图地球数据云"是中科星图(股票代码[688568])旗下子公司——星图地球倾力打造的在线时空数据云服务平台…

基于约束的装配设计【CadQuery】

本教程介绍在CadQuery中如何使用装配约束功能来构建逼真的模型,我们将组装一个由 20x20 V 型槽型材制成的门组件。 1、定义参数 我们希望从定义模型参数开始,以便以后可以轻松更改尺寸: import cadquery as cq# Parameters H 400 W 200…

2.8 高收藏率小红书笔记怎么写?试一试这7类方法吧【玩赚小红书】

1、教程攻略类 ​ ​ ​ 打开任何一类的美妆产品,最常见的就是各类妆容教程和变美攻略。就拿教程最多的眼妆来说吧,很多女孩子都觉得眼妆很难画好。 如果是碰到网上流行的网红眼影,比如什么猫眼妆、截断式眼影、桃花眼影等等。 【 高收藏秘…

社区团购小程序制作有什么优势_ 社区团购小程序的作用

打造属于自身的独立小程序拥有更高的自主性,特别是基于得店小程序的创新产品力,从设计上彰显品牌理念,到功能上进行扩展拓宽营销方式,都完全自我掌控, ● 更重要的是,相比于平台上各种复杂的机制&#xff0…