我在配置单元表中有以下列。所有列都是数据类型 string
. 每一行都是不同的,因为另一列(7或8多列)的值中至少有一个唯一的值。我想编写一个配置单元查询来选择 datetime >= 2017-05
把记录放在哪里 datetime < 2017-05
. 这里的输出应该是 orderid
- 101, 102, 103
. 所有记录
orderid 100
应该放弃。注:orderid 100有1条datetime>2017-05的记录。尽管如此,它还是应该被删除,因为它至少有一个datetime<2017-05的记录。orderid可以是任何12-16位数字。这个表有数十亿条记录。
有人能帮我写一个Hive查询吗?提前谢谢。
datetime orderid other columns
2017-04-30 17:10:05 100
2017-03-05 12:25:30 100
2017-05-09 08:18:44 100
2017-05-15 04:21:43 101
2017-06-20 11:20:10 101
2017-05-22 05:09:35 102
2017-07-01 06:25:30 102
2017-06-25 08:24:40 103
2017-05-11 11:50:49 103
输出结果:
datetime orderid other columns
2017-05-15 04:21:43 101
2017-06-20 11:20:10 101
2017-05-22 05:09:35 102
2017-07-01 06:25:30 102
2017-06-25 08:24:40 103
2017-05-11 11:50:49 103
2条答案
按热度按时间owfi6suc1#
owfi6suc2#
select*from(select min(datetime)as date\u time,orderid from mytable group by orderid)t其中date\u time>='2017-05%';