我有以下表格的数据:
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查询来解决这个问题吗?
答案 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