我在 hive 里有一张table,如下所示:
|attribute | start_date | end_date |
|----------+------------+------------+
| x | 10-01-2014 | 03-31-2015 |
| x | 04-01-2015 | 09-30-2015 |
| x | 10-01-2015 | 03-31-2016 |
| x | 04-01-2016 | 09-30-2016 |
| y | 10-01-2015 | 03-31-2016 |
| y | 04-01-2016 | 09-30-2015 |
我只想得到2014年1月10日至2016年9月30日期间发生的所有属性的不同列表,但它们必须在每个属性中都有开始日期(2014年1月10日、2015年1月4日、2015年1月10日、2016年1月4日)。
我试过:
select distinct(attribute),min(start_date) ,max(end_date)
from table
where
max(end_date) >='03-31-2016'
and min(effective_start_date) <='2015-01-01'
但这并不能阻止任何差距。任何帮助都将不胜感激。
1条答案
按热度按时间6l7fqoea1#
像这样的?
我建议您使用iso标准格式“2014-10-01”存储和引用日期,但我将日期保留为您的格式。