Hive选择查询与分组

时间:2014-06-03 11:27:45

标签: date select group-by hive minute

我有以下表格的数据:

hive> desc test;
no string
txdate string
hive>

hive> select * from test;

1  2014-06-01 10:12:12.100

1  2014-06-01 10:12:14.100

1  2014-06-01 10:12:16.100

1  2014-06-01 10:13:12.100

1  2014-06-01 10:14:12.100

我需要使用txdate列对数据进行分组并截断到最后一分钟。输出应如下

3  2014-06-01 10:12:00

1  2014-06-01 10:13:00

1  2014-06-01 10:14:00

任何人都可以帮助我使用Hive select查询来解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

我们可以使用substr()函数来实现这一点。

查询是:

select substr(txdate,1,16), sum(no) from test group by substr(txdate,1,16);

此查询的结果将是

2014-06-01 10:12 3
2014-06-01 10:13 1
2014-06-01 10:14 1
相关问题