我使用的是配置单元0.12,
数据:customer_name val时间客户1 2014-05-19 05:12:43客户1 2 2014-05-19 05:12:50客户1 3 2014-05-19 05:13:27客户1 4 2014-05-19 05:14:14客户2 1 2014-05-19 05:16:27客户2 2014-05-19 05:17:01客户2 3 2014-05-19 05:17:05
我想要每个客户从val=1到val=n的时间差。预期输出:
客户1 00:01:31客户2 00:00:39
对于客户来说,日期也可能更改为第二天。例如客户3 1 2014-05-19 23:59:00客户3 1 2014-05-20 00:02:25
预期输出:客户3 00:02:26
第一项质询。这可以在没有UDF的情况下完成吗??第二项质询。如果没有?如何使用UDF??
在回答这个问题之前,我做了两个假设(根据您的需求,如果这些假设是错误的,请纠正我),第一个假设是时间戳按值的排序顺序排列,即对于cust1,值1的时间戳小于值2的时间戳,依此类推
其次,输出是以秒为单位的。请使用上面的任何函数将其转换为您想要的格式。
以下是正确格式的数据:
cust(string),val(string),ts(timestamp)
cust1,1,2014-05-19 05:12:43
cust1,2,2014-05-19 05:12:50
cust1,3,2014-05-19 05:13:27
cust1,4,2014-05-19 05:14:14
cust2,1,2014-05-19 05:16:27
cust2,2,2014-05-19 05:17:01
cust2,3,2014-05-19 05:17:05
查询:
从中选择cust,unix_timestamp(max(ts))-unix_timestamps(min(ts)temp_txns按客户分组
输出:
cust1 91
cust2 38
希望这对你有用。