题解 | #2021年11月每天的人均浏览文章时长#
2021年11月每天的人均浏览文章时长
https://www.nowcoder.com/practice/8e33da493a704d3da15432e4a0b61bb3
TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)
TIMESTAMPDIFF函数返回datetime_expr2 - datetime_expr1的结果,其中datetime_expr1和datetime_expr2可以是DATE或DATETIME类型值
解析:TIMESTAMPDIFF(格式,开始时间,结束时间)
unit: 日期比较返回的时间差单位,常用可选值如下:
SECOND:秒
MINUTE:分钟
HOUR:小时
DAY:天
WEEK:星期
MONTH:月
QUARTER:季度
YEAR:年
datetime_expr1: 要比较的日期1
datetime_expr2: 要比较的日期2
DATE_FORMAT(date,format)
语法:
下面的脚本使用 DATE_FORMAT() 函数来显示不同的格式。我们使用 NOW() 来获得当前的日期/时间:
DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')
DATE_FORMAT(NOW(),'%m-%d-%Y') 参考这一个
DATE_FORMAT(NOW(),'%d %b %y')
DATE_FORMAT(NOW(),'%d %b %Y %T:%f')
结果如下所示
Nov 04 2008 11:45 PM
11-04-2008
04 Nov 08
04 Nov 2008 11:45:34:243
# 将进入时间转化为日期:date_format(in_time,'%Y-%m-%d') as dt , # 有几个在浏览 count(distinct uid) # 浏览时长 sum(timestampdiff(second,in_time,out_time)) # 过滤目标时间窗的有效浏览记录: date_format(in_time,"%Y-%m") = "2021-11" and artical_id != 0 /* TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2) TIMESTAMPDIFF函数返回datetime_expr2 - datetime_expr1的结果,其中datetime_expr1和datetime_expr2可以是DATE或DATETIME类型值 解析:TIMESTAMPDIFF(格式,开始时间,结束时间) unit: 日期比较返回的时间差单位,常用可选值如下: SECOND:秒 MINUTE:分钟 HOUR:小时 DAY:天 WEEK:星期 MONTH:月 QUARTER:季度 YEAR:年 datetime_expr1: 要比较的日期1 datetime_expr2: 要比较的日期2 DATE_FORMAT(date,format) 语法: 下面的脚本使用 DATE_FORMAT() 函数来显示不同的格式。我们使用 NOW() 来获得当前的日期/时间: DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p') DATE_FORMAT(NOW(),'%m-%d-%Y') 参考这一个 DATE_FORMAT(NOW(),'%d %b %y') DATE_FORMAT(NOW(),'%d %b %Y %T:%f') 结果如下所示: Nov 04 2008 11:45 PM 11-04-2008 04 Nov 08 04 Nov 2008 11:45:34:243 */ select date_format(in_time,'%Y-%m-%d') as dt , round( sum(timestampdiff(second,in_time,out_time))/count(distinct uid) ,1 ) as avg_viiew_len_sec from tb_user_log where month(in_time)=11 and artical_id !=0 # where year(in_time)=2021 and month(in_time)=11 and artical_id >0 group by dt order by avg_viiew_len_sec