我有一个由两列组成的表,时间和值列。时间列是一个浮点值,该值是一个字符串值。
我想将具有相同值的所有行分组在一起,其中时间列中两个值之间的距离最大为0.001,并且返回这些组的间隔。
示例:我的表如下所示:
====================
| time | value |
====================
| 0.001 | a |
| 0.00001| a |
| 0.002 | a |
| 0.002 | b |
| 0.003 | b |
| 0.0031 | a |
====================
期望结果:
======================================
| time_min | time_max | value |
======================================
| 0.001 | 0.002 | a |
| 0.002 | 0.003 | b |
| 0.0031 | 0.0031 | a |
======================================
是否有一个hiveql查询可以做到这一点(尽可能高效)?配置单元版本:1.2
提前多谢了!
1条答案
按热度按时间cngwdvgl1#
附笔
我在用
IF
而不是CASE
因为某种原因CASE
产生以下错误:失败:indexoutofboundsexception索引:2,大小:2
使用
FLOAT
为此目的是个坏主意。它不会给你预期的结果。