我有下表:
id | timestamp | team
----------------------------
1 | 2016-05-06 | A
2 | 2016-03-02 | A
3 | 2015-12-01 | A
4 | 2016-07-05 | B
5 | 2016-06-30 | B
6 | 2016-06-28 | B
7 | 2016-04-05 | C
8 | 2016-04-02 | C
9 | 2016-01-02 | C
我想按团队分组,找到每个团队的最后一个时间戳,所以我做了:
select team, max(timestamp) from my_table group by team
到目前为止一切正常。不过,现在我想知道每个团队上个月有多少不同的id。例如,对于团队a,它将从2016-04-07到2016-05-06,因此该计数为1。对于b队,最后一个月是从2016-06-06到2016-07-05,因此计数是3。对于c组,最后一个月是2016-03-06到2016-04-05,计数是2。我的预期输出应该如下所示:
team | max(timestamp) | count_in_last_month
------------------------------------------------
A | 2016-05-06 | 1
B | 2016-07-05 | 3
C | 2016-04-05 | 2
是否可以使用impala查询来派生?谢谢!
1条答案
按热度按时间vuktfyat1#
将原始表与获取最大时间戳的子查询联接起来。
演示