MySQL 经验集总结(更新ing)
创始人
2024-01-25 23:31:18
0

文章目录

      • 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:表示截取字符串的长度。

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

相关内容

热门资讯

2016适合女性在乡镇开的十五... 2016适合女性开的十五种店:旅游景区的小驿店,酷热难耐的夏天人们都在周末到海岛渡假,洗海水浴的同时...
创业好项目,只适合女性的小本创... 如今生活中相信很多人都有一些爱拍照,爱留念的生活习惯,人们对智能设备的使用也已经非常的普及了,有一个...
在家小本创业好项目k 在家小本... 首页详情80后在家小本创业项目那些好时间:20在家小本创业好项目k21-01-80后在家小本创业项目...
适合在家小本创业项目 在家小本... 随着生活压力越来越大,并且想找到一份心仪的工作也是越来越为难,所以很多人都在想着是不是能够自己开始创...
小本创业的5个好项目 小本创业... 说起创业,我们应该从小本生意做起,我们看看有哪些最新适合小本创业的项目,让我们一起来看一看,希望每个...
2018适合创业者的小本经商项... 创业者必须具备精准定位消费群体的技能——如果你打算做外语培训班的话:从高级白领、大学博士到小学生甚至...
小本创业选择什么 10个小本创... 2、情侣礼品店此项目创办条件与普通精品店相似,但经营风格上有所不同,它的经营更注重一个"情"字,既要...
13个小本创业赚钱小本创业致富... 小本创业是目前比较受欢迎的创业方式,它的投资门槛低,吸引了不少普通大众的投资,但对于选项目却令人伤脑...
适合创业者的小本经商项目 适合... 做什么最容易赚钱?适合创业者的小本经商项目大多数的创业者在创业初期没做够的资金积储,因而,关于他们来...
2017小本创业致富项目有哪些... 能够帮助我们致富的创业项目,难道我们不应该即使把握吗?以下是学习啦小编给大家带来2017年小本创业致...