about云开发-活到老 学到老

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3372|回复: 2

[小知识点] hive时间差计算

[复制链接]

67

主题

15

听众

18

收听

高级会员

Rank: 4

积分
1306

最佳新人热心会员荣誉管理

QQ
发表于 2018-2-7 17:47:09 | 显示全部楼层 |阅读模式
有个小需求,计算商品发货时间和下单时间差,然后算出48小时内发货的占比

[SQL] 纯文本查看 复制代码
select sum(case when ((unix_timestamp(deliveredtime) - unix_timestamp(paytime)) / 3600) > 48
then 1 else 0
end) as deviled_countgt48hour,
sum(case when ((unix_timestamp(deliveredtime) - unix_timestamp(paytime)) / 3600) <= 48
then 1 else 0
end) as deviled_countlte48hour,
sum(case when ((unix_timestamp(deliveredtime) - unix_timestamp(paytime)) / 3600) is null
then 1 else 0
end) as deviledtimeisnull,
(sum(case when ((unix_timestamp(deliveredtime) - unix_timestamp(paytime)) / 3600) <= 48
then 1 else 0
end) / count(ordercodeofsys)) as rate_deviledlte48hour from table 


发表于 2018-2-7 19:00:17 | 显示全部楼层
hive sql已结很灵活了。(unix_timestamp(deliveredtime)这是转换为Linux时间吧,deliveredtime是hive time类型?

67

主题

15

听众

18

收听

高级会员

Rank: 4

积分
1306

最佳新人热心会员荣誉管理

QQ
 楼主| 发表于 2018-2-8 10:11:05 | 显示全部楼层
desehawk 发表于 2018-2-7 19:00
hive sql已结很灵活了。(unix_timestamp(deliveredtime)这是转换为Linux时间吧,deliveredtime是hive time ...

是的,time类型
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|about云开发-学问论坛|社区-大数据云技术学习分享平台 ( 京ICP备12023829号

GMT+8, 2018-8-20 13:05 , Processed in 0.309229 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2 Licensed

快速回复 返回顶部 返回列表